android - 如何在 mediaplayer android 上播放 mp3+g

标签 android android-mediaplayer

我知道我们可以在 MediaPlayer 中播放 mp3 文件。 但是我们可以在安卓上播放mp3+g吗??

在android上的文档里看到了,没看到。 http://developer.android.com/guide/appendix/media-formats.html

是否有任何解决方法或库可以做到这一点? 谢谢

最佳答案

我“认为”Android 不会很快支持 mp3+g 播放。也就是说,一个 mp3+g"file"应该是一个压缩文件(内部有两个文件)或两个名称相同但文件扩展名除外的单独文件。所以除了播放 MP3 之外,MediaPLayer 真的没有别的可以做的,并且改变 MediaPlayer int android 框架来让它工作不会在设备之间移植。

解决方法 1

使用 FFMPEG 将这些文件转码并混合为其他受支持的格式,例如 mp4。 Here是某人使用 ffmpeg 将 mp3+g 多路复用到 FLV 的示例。

解决方法 2

另一种选择是使用 Android For VLC,它处于 pre-alpha 阶段,已找到 here .现在我不确定适用于 android 的 VLC 是否支持 mp3+g,但 libvlc 确实支持这两个文件的解码,所以我猜它会起作用,或者您可以稍微更改代码以使其起作用。我最近检查了 Android 代码的 VLC,我不得不说它是一个 cpu hog,但由于 mp3 和 cdg 通常较小的 cpu 密集型文件我认为 android 设备可以使用 VLC 处理工作负载。

解决方法 3

现在,对于更复杂的选项,您可以利用 Android NDK 并自己创建一个解码器(这会花费您很多时间)。

希望以上内容对您有所帮助。

关于android - 如何在 mediaplayer android 上播放 mp3+g,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9752125/

相关文章:

android - 流媒体播放器不适用于 Samsung Galaxy S3

Android 音频流太慢

android - 视频不会在 VideoView 中恢复

java - 如何使用单独的 AsyncTask 类连接互联网

android - 如何在Android Studio中下载库?

java - 随机数 1-6

android - 使用 robolectric 进行单元测试会出现 NoSuchMethodException 错误

java - 在 Android 中使用 MediaPlayer 播放 mp3 文件列表

android - MediaPlayer - 使用铃声音量而不是媒体音量

java - 为什么我使用 bundle 在 fragment 中获取空值