android - MediaPlayerNative : error (1, -2147483648) 播放 HTTP 渐进式 MP3 流时

标签 android android-studio android-mediaplayer internet-radio

我一直在努力开发一个网络广播流媒体应用程序,但我得到的只是一些强制关闭或错误。 我已采取的步骤,

  • 我已阅读 MediaPlayer 文档 here .
  • 我还阅读了已有的解决方案 here .
  • 我还在 Google 上搜索过任何解决方案,但一无所获。

这是我的代码:

主要 Activity :

    private Button pbutton;
    private MediaPlayer mediaPlayer;

    pbutton = findViewById(R.id.button_play);
    pbutton.setEnabled(false);

    mediaPlayer = new MediaPlayer();
    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    try {
        mediaPlayer.setDataSource("http://streams.abidingradio.org:7800/1");
    } catch (IOException e) {
        e.printStackTrace();
    }
    mediaPlayer.prepareAsync();

    mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
            pbutton.setEnabled(true);
        }
    });

    pbutton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mediaPlayer.start();
        }
    });

list :

<?xml version="1.0" encoding="utf-8"?>

<uses-permission android:name="android.permission.INTERNET"/>

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

当我运行此代码时,MediaPlayer 没有做好准备。 它会抛出以下错误: click here for the full log 主要错误是:

failed to init data from source
MediaPlayerNative: error (1, -2147483648)
MediaPlayer: Error (1,-2147483648)

我已经处理这个问题近三天了,但仍然没有找到解决方案。我还可以保证音频流的链接工作正常。

任何帮助将不胜感激!

谢谢。

最佳答案

原因是MediaPlayer不支持流式MPEGA格式。看看supported audio formats .

只需使用兼容的第三方播放器之一,例如 IjkPlayerExoPlayer

关于android - MediaPlayerNative : error (1, -2147483648) 播放 HTTP 渐进式 MP3 流时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53408277/

相关文章:

java - 尝试对空对象引用调用接口(interface)方法 'ImageChooserDialog$BottomSheetListener.onOptionsClicked(java.lang.String)'

Android - 直接从输入流播放 mp3 而无需写入临时文件

android - Android MediaPlayer同时提供3个音频

java - 如何在viewpager中的fragment中保存recyclerview的状态?

android - Codenameone:如何防止android硬件后退按钮退出应用程序?

android - 如何在 koin 中正确添加两个模块?

java - 我应该使用哪个函数来访问 Android Crypto 插件?

java - 从数据库填充ExpandableListView - 无法正常工作

java - Android 中的相机 Intent 问题

java - 如何在android中添加崩溃分析