Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过android中的mediaplayer进行直播_Android_Media Player_Http Live Streaming - Fatal编程技术网

通过android中的mediaplayer进行直播

通过android中的mediaplayer进行直播,android,media-player,http-live-streaming,Android,Media Player,Http Live Streaming,如何使用MediaPlayer传输在线URL?您可以使用: MediaPlayer mediaPlayer = MediaPlayer.create(this, Uri.parse("YOUR URL HERE")); mediaPlayer.start(); 如果您正在从远程URL流式传输音频,则MediaPlayer有问题。它有时工作,但挂起主要是为了远程 试过挂在下面吗 mediaPlayer = MediaPlayer.create(this, Uri.parse

如何使用MediaPlayer传输在线URL?

您可以使用:

    MediaPlayer mediaPlayer = MediaPlayer.create(this, Uri.parse("YOUR URL HERE"));
    mediaPlayer.start();

如果您正在从远程URL流式传输音频,则MediaPlayer有问题。它有时工作,但挂起主要是为了远程

试过挂在下面吗

   mediaPlayer = MediaPlayer.create(this, Uri.parse("YOUR URL HERE"));
        mediaPlayer.start();
也试过 mediaPlayer.prepareAsync();并在准备好的侦听器上实现。不起作用。。使用的设备是三星galaxy mini

已经尝试手动读取URL内容并使用缓冲内容更新MediaPlayer数据源。最有效,但还不知道如何切换URL等

这里的示例适用于视频播放器,但音频播放器也应采用相同的概念

编辑 啊,刚刚找到这个

似乎很好地包装了对MediaPlayer的调用:

基本上,如果使用Android MediaPlayer类,您需要执行以下操作:

MediaPlayer mediaPlayer = new MediaPlayer();

mediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
    public boolean onError(MediaPlayer mp, int what, int extra) {
        mp.reset();
        return false;
    }
});

mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
    public void onPrepared(MediaPlayer mp) {
        mp.start();
    }
});

try {
    mediaPlayer.setDataSource("http://someurl");
    mediaPlayer.prepareAsync();
} catch (IllegalArgumentException e) {
} catch (IllegalStateException e) {
} catch (IOException e) {
}
请记住,Android MediaPlayer类只能播放支持的格式:
在API 28中为我工作

   MediaPlayer mediaPlayer = new MediaPlayer();
            mediaPlayer.setDataSource("http://209.188.21.202:8016/stream");
            mediaPlayer.prepare();
            mediaPlayer.start();
如果使用INTERNET,请记住向清单添加权限

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

也要小心使用文本通信

从Android 9.0(API级别28)开始,默认情况下禁用明文支持

在我的例子中,我在清单中添加-->android:UseSlearTextTraffic=“true”

参考-->


“我尝试了这么长时间但结果相同”-什么结果?请显示您迄今为止尝试过的内容。您好,Lalit u可以看到我在下面的堆栈溢出标题中尝试了什么。。。Android http直播URL使用mediaplayerGetting错误,如Mediaplayer错误(1,-1002),开始状态为0,错误(-38,0)原因。如果您使用http直播(HLS/pantos-http-live-Streaming-07),则仅在Android 3.0及更高版本中受支持。你可以在这里看到谷歌的发布说明:你需要在你的问题中提供更多的信息…@NAVdroid我也使用了这个,但它显示未发送缓冲状态,因为持续时间未知…请给我建议,如果你以前做过…,mediaplayer启动状态为2hi,本机媒体播放器是否支持自适应比特率流媒体?
    <uses-permission android:name="android.permission.INTERNET" />