如标题所示,如何在没有 vitamio 的情况下在 Android 上流式传输 m3u8 音频?(在 Android 2.3+ 上)。我已经看到一些应用程序可以流式传输我的链接http://4metest1-view.4me.it/api/xpublisher/resources/weebopublisher/getContentDescriptor.m3u8?clientId=4metest1&contentId=b55f7d74-cd81-48ce-9390-d9ffd5c49281&channelType= STREAMHTTPIOS&v=4 像 VLC 或 aqua Player,但我无法设置 mMediaPlayer 来重现它。
问问题
4426 次
2 回答
0
使用 VideoView 播放带有轻松音乐的音频 :)
myVideoView = (VideoView)this.findViewById(R.id.myVideoView);
MediaController mc = new MediaController(this);
myVideoView.setMediaController(mc);
urlStream = "http://4metest1-view.4me.it/api/xpublisher/resources/weebopublisher/getContentDescriptor.m3u8?clientId=4metest1&contentId=b55f7d74-cd81-48ce-9390-d9ffd5c49281&channelType=STREAMHTTPIOS&v=4";
runOnUiThread(new Runnable() {
@Override
public void run() {
myVideoView.setVideoURI(Uri.parse(urlStream));
}
});
于 2014-01-08T23:17:45.940 回答
-1
您的 m3u8 不是真正的 HLS 文件。它只是一个指向单个 MP3 的播放列表指针
http://4metest1-4me.weebo.it/ios/Dance_of_the_Yao_People_3_JIDMQ7.mp3
您可以使用媒体播放器直接从源流式传输,也可以在代码中解析文件 m3u8 文件以提取单个 URL
url url = new URL(" http://4metest1-view.4me.it/api/xpublisher/resources/weebopublisher/getContentDescriptor.m3u8?clientId=4metest1&contentId=b55f7d74-cd81-48ce-9390-d9ffd5c49281&channelType=STREAMHTTPIOS&v=4");
InputStream m3u8 = (InputStream) url.getContent();
BufferedReader br = new BufferedReader(new InputStreamReader(M3U8));
for(int i = 0; i < 2; ++i)
{
br.readLine();
}|
readLine(); //this parses the third line of the playlist
br.close();
url = new URL(baseURL.concat(target));
于 2013-11-26T15:22:02.107 回答