制作M3U清单实现MediaPlayer多个视频的连续播放

<embed src='video.m3u' ShowPositionControls=false Volume=0 ShowStatusBar=true ShowDisplay=true EnableContextMenu=false> 

1. .m3u格式文件的介绍

.m3u文件是一个元文件播放列表,它引用 .mp3等音频文件并为播放列表中的项目提供其他元数据。直白点说,.m3u文件就是mp3等音频文件播放列表清单。严格来说,.m3u仅仅就是一个类文本文档(TXT)文件,它的作用只不过是将一些MP3/WMA/MID等音频文件的名字集中在一起的一个表单,作用很简单,就是规定音频文件播放的顺序。

2. 本机.m3u文件的制作

1).用文本编辑器新建一个文本文档

2).首先在记事本的首行输入 "#EXTM3U" (不要引号,也可省略此步)

3).接下来就是往下面添加你想要添加的歌曲的路径和歌曲名了。(如果将.m3u文件保存在歌曲所在目录,则路径名可以省掉 )

4).最后,将文件另存为*.m3u 格式(生成的图标不是很常见的,和您机器上的主播放器有关。)

例1.localtest1.m3u文件内容(歌曲文件和.m3u文件在同一文件夹下)

#EXTM3U

在路上.mp3

sailing.mp3

ERA-The Mass.mp3

<

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: mediaplayer可以通过创建多个MediaPlayer对象来实现多路播放视频。每个MediaPlayer对象都可以设置不同的数据源和监听器,以实现不同的视频播放。同时,需要注意及时释放MediaPlayer对象,避免资源浪费和内存泄漏。 ### 回答2: MediaPlayer是Android系统中用于播放音频和视频的核心类之一,然而它默认只支持单路播放,无法直接实现多路播放视频。但是通过使用SurfaceView和SurfaceHolder等类,可以通过一些间接的方式实现多路播放视频。 首先,要实现多路播放视频,需要创建多个MediaPlayer对象。每个MediaPlayer对象负责一个视频播放功能。然后,为每个MediaPlayer对象设置相应的数据源和SurfaceView。 在设置数据源时,可以使用MediaPlayer的setDataSource()方法,将要播放视频文件或URL传递给不同的MediaPlayer对象。使用不同的数据源可以实现播放多个不同的视频。 在设置SurfaceView时,需要为每个MediaPlayer对象创建一个不同的SurfaceView,并通过SurfaceHolder将SurfaceView绑定到对应的MediaPlayer对象上。这样每个MediaPlayer对象就有了自己独立的画面输出。 接下来,可以通过调用每个MediaPlayer对象的prepareAsync()方法进行异步准备,并在准备完成后调用start()方法开始播放视频。要注意的是,需要为每个MediaPlayer对象创建一个独立的OnPreparedListener监听器,在监听器中设置MediaPlayer对象的画面输出到对应的SurfaceView上。 此外,对于多路播放视频,还需要考虑多个MediaPlayer对象之间的协调。例如,可以设置一个计数器,记录已经准备好的MediaPlayer个数,当所有MediaPlayer都准备好后,再依次调用start()方法,实现多个视频的同步播放。 综上所述,通过创建多个MediaPlayer对象,设置不同的数据源和SurfaceView,以及使用合适的协调机制,可以实现多路播放视频。这种方式可以用于同时播放多个视频源,例如窗口分割、画中画等场景。 ### 回答3: MediaPlayer是一种Android平台上常用的媒体播放器,用于播放音频和视频文件。它可以通过实现多路播放视频实现同时播放多个视频的功能。 要实现多路播放视频,可以使用以下步骤: 1. 创建多个MediaPlayer对象:根据需要播放视频数量,创建相应数量的MediaPlayer对象。 2. 设置MediaPlayer对象的数据源:调用每个MediaPlayer对象的setDataSource()方法,为其设置不同的视频文件路径或资源。 3. 准备MediaPlayer:调用每个MediaPlayer对象的prepare()方法,准备播放视频。如果视频文件较大,可以使用异步方式prepareAsync()。 4. 设置多路播放:为了确保多个MediaPlayer对象同时播放视频,可以使用MediaPlayer.OnPreparedListener接口,在每个MediaPlayer对象准备完成后,设置其为播放状态,例如调用start()方法。 5. 监听并控制播放状态:针对每个MediaPlayer对象,可以实现MediaPlayer.OnCompletionListener和MediaPlayer.OnErrorListener等接口,监听其播放完成或出现错误时的状态。 6. 控制播放顺序:根据需求,可以通过代码控制多个MediaPlayer对象按照指定的顺序播放视频。例如,可以在一个MediaPlayer对象播放完毕后,使用下一个MediaPlayer对象继续播放。 7. 释放资源:当播放完成或不再需要播放视频时,调用每个MediaPlayer对象的release()方法释放相关资源。 通过以上步骤,可以实现多路播放视频的功能。需要注意的是,在同时播放多个视频时,需要协调好多个MediaPlayer对象的播放状态和播放顺序,确保视频可以正常播放,避免资源浪费和冲突。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值