【发布时间】:2023-03-17 17:04:01
【问题描述】:
我正在为 android OS > 4.0(包括和发布 OS)开发一个 android 应用程序。我有一个示例 m3u8 文件如下:
#EXTM3U
#EXT-X-TARGETDURATION:56
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:28, no desc
ulr/audio/file.mp3
#EXTINF:28, no desc
ulr/audio/file.mp3
#EXT-X-ENDLIST
我正在尝试使用以下代码播放该文件
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setOnErrorListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnCompletionListener(this);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try
{
mMediaPlayer.setDataSource(uri);
} catch (IllegalArgumentException e)
{
e.printStackTrace();
} catch (SecurityException e)
{
e.printStackTrace();
} catch (IllegalStateException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
mMediaPlayer.prepareAsync();
我的onPrepared()方法如下:
public void onPrepared(MediaPlayer player)
{
player.start();
}
但代码首先到达onPrepared(),然后立即到达onError(),what=1 和extra=-1010。
我知道这个问题已经被问过很多次了(例如here、here 和here),我也知道Vitamio,但我想找出我的实现有什么问题。我创建的 m3u8 文件有问题吗?我浏览了它的documentation,一切似乎都是正确的。
如果有人能在这件事上有所启发,我会很高兴。
【问题讨论】:
标签: android android-mediaplayer playlist m3u8