【问题标题】:Audio on Mobile apps移动应用程序上的音频
【发布时间】:2016-02-24 01:06:39
【问题描述】:

我是应用程序开发的新手,所以如果我问一些看似简单的问题,我深表歉意。

我正在使用 ionic 构建一个混合应用程序。在我尝试播放音频之前,一切都很顺利。我正在尝试播放位于网络服务器上的 HLS 音频流和一些 mp3 文件。

在互联网上进行研究并使用播放器进行各种测试后,我使用了 video.js。经过一些测试,我发现播放器对 4.4.2 之前的 android 版本没有响应。 ...而且我还没有在IOS上做过任何测试。

我真的很困惑如何在混合移动应用程序上播放音频。

非常感谢任何帮助!

【问题讨论】:

    标签: android ios audio ionic hybrid-mobile-app


    【解决方案1】:

    Ionic Framework 中的音频功能可以使用Apache Cordova Media pluginngCordova 来实现。

    通过运行以下命令安装插件,

    cordova plugin add org.apache.cordova.media
    

    1.播放互联网上的音频文件

    html

     <button class="button" ng-click="play('http://www.stephaniequinn.com/Music/Commercial%20DEMO%20-%2013.mp3')">Play from internet</button>
    

    1.从文件系统播放歌曲

    html

     <button class="button" ng-click="play('www/mp3/song.mp3')">Play from file system</button>
    

    控制器

    $scope.play = function(src) {
        var media = new Media(src, null, null, mediaStatusCallback);
        $cordovaMedia.play(media);
    }
    

    它会尝试播放来自 /storage/emulated/0/www/mp3/song.mp3 的歌曲

    请参考这个blog。你会得到更多的想法。如果你有任何疑问,请告诉我,谢谢

    【讨论】:

    • 你的答案正是我想要的。太感谢了!你知道媒体插件是否可以像 HLS 一样播放音频流吗?如果你不知道没关系,我会试试,亲眼看看
    • 很高兴为您提供帮助。如果您需要任何帮助,请告诉我。谢谢
    【解决方案2】:

    如果您正在播放音频并且它对您的应用至关重要,那么您应该考虑编写音频服务(使用 Java)。当用户导航到另一个应用程序并且系统负载过重时,使用音频服务可以防止操作系统在您的活动中杀死您的音频。

    此外,当音频播放进入应用程序时,您必须确保在有电话来电或应用程序失去音频焦点时停止播放。我不知道你是否可以用 ionic 处理所有这些,我也不知道你的编码技能。但在 Android 上处理音频很快就会成为一项非常复杂的任务。因此,我推荐一个单独的服务,它作为一个封装组件工作。

    【讨论】:

    • 不幸的是,我的 Java 编码技能不足以完成这样的项目。非常感谢您的帮助和建议!
    猜你喜欢
    • 2013-11-15
    • 1970-01-01
    • 2014-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多