【问题标题】:Error in cordova-plugin-media while playing m3u8 file播放 m3u8 文件时,cordova-plugin-media 出错
【发布时间】:2017-09-24 12:20:12
【问题描述】:

我正在构建一个音乐应用程序,该应用程序能够从托管的流媒体服务器流式传输音频。但是我找不到任何能让我在应用程序中流式传输音频的cordova插件。我曾尝试使用 cordova-plugin-media,但它在 android 中为 .m3u8 文件提供了错误代码 1。

总结一下我已经尝试过的:

  1. 我尝试过 HTML 音频和视频标签,但它们不支持 mp3 流式 m3u8 文件链接。
  2. 我试过cordova-plugin-streaming-media但它会在设备中安装的默认音乐播放器中播放音乐。我想要的是播放自定义 UI 的应用内音乐。
  3. 我也尝试使用cordova-plugin-media,它在 iOS 应用中运行良好,但在 android 中为相同的 m3u8 文件提供错误代码 1。

有人能指出正确的方向吗?

谢谢

【问题讨论】:

  • 我已经在cordova中构建了一个带有shoutcast的流媒体应用程序,你能给我一个示例m3u8文件吗,我会检查我的插件,如果它可以为你提供解决方案
  • 35.154.5.85:1935/vod/mp3:file.mp3/playlist.m3u8
  • @Tapas 可能是我能想到的最简单的解决方案是在 iOS 平台上使用 cordova 媒体插件并尝试使用这个插件 - github.com/frontyard/cordova-plugin-exoplayer 在 android 平台上播放 m3u8 文件。您可以使用设备插件来检测当前平台。这也将对您现有的工作应用产生最小的影响
  • @Gandhi 我喜欢你的想法,让我看看它是否有效,如果它有效,我会奖励你。 :)
  • @Tapas 这应该可以解决。无论如何,请让我发布,以便我可以发布答案。干杯

标签: javascript android angularjs cordova


【解决方案1】:

正如您已经提到的,该应用程序在 iOS 中使用 cordova 媒体插件可以正常工作,要在 Android 中进行这项工作需要做的最简单和最小的更改是使用具有播放功能的 exoplayer 插件m3u8 文件。

您可以使用 Cordova 设备插件来识别设备平台并调用适用于 iOS 的 Cordova 媒体插件和适用于 Android 的 exoplayer 插件。这应该可以为您解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多