Phonegap 构建,HTML5 音频,Android

Posted

技术标签:

【中文标题】Phonegap 构建,HTML5 音频,Android【英文标题】:Phonegap Build, HTML5 Audio, Android 【发布时间】:2013-09-02 15:03:06 【问题描述】:

我正在为当地广播电台开发这个应用程序,作为我公司(实习生)的社区外展类型交易的一部分,我有点全身心投入并决定建立这个网站 -> 应用程序只有一个对我正在使用的技术的了解很少,但是目前它运行良好,我只是遇到以下问题。

所以基本上我正在尝试使用 html 音频标签流式传输一些音频。这适用于我的浏览器,但不适用于我的模拟器(涟漪模拟器,nexus 4),也不适用于我的安卓手机(HTC One)。

技术 - HTML5、CSS、Jquery Mobile 和 Phonegap 构建。

我觉得我可能不得不用 javascript 做点什么。

    <audio controls>
    <source src="http://195.10.228.6:8035/canal.mp3" type="audio/mpeg">
    Your browser does not support the audio element.
    </audio>

感谢您的帮助!

编辑:澄清一下我能够看到音频播放器并与之交互,它要么不播放声音,要么不完全确定播放流。

【问题讨论】:

【参考方案1】:
<audio id="stream" preload='none'>
        <source src="audio source" type="audio/mpeg">
        Your browser does not support the audio element.
    </audio>
    <a href="#" id="audioControl">play!</a>

<script>
var stream = document.getElementById('stream'),
ctrl = document.getElementById('audioControl');

ctrl.onclick = function () 

// Update the Button
var pause = ctrl.innerHTML === 'pause!';
ctrl.innerHTML = pause ? 'play!' : 'pause!';

// Update the Audio
var method = pause ? 'pause' : 'play';
stream[method]();

// Prevent Default Action
return false;
;
</script>

此代码修复了大多数允许您通过手机播放的内容,并且只有一个播放/暂停链接。你可以在以后做任何你想要的样式。

问题-在点击播放之前大约需要 10 秒才能加载〜至少对于我的流来说,对于本地文件来说可能要容易得多

【讨论】:

谢谢!!!!我真的很爱你!在ios+phonegap中播放流媒体只是一种可能的方式。 @Weltkind 没问题,我从未在 IOS 上实际尝试过,所以我很高兴看到它也能在那里工作。 谁能给出一些解决方案,如何减少预加载时间?相同的代码在 ios 上运行良好,几秒钟后开始流式传输。但android版本延迟约10-15秒【参考方案2】:

您需要包含更多声音格式,因为 MP3 可能不受支持。根据http://html5please.com/#audio,您必须至少包含 OGG 和 AAC 格式。

还要注意Opera Mini does not support the audio tag at all。你应该包含一个 polyfill,第一个链接中提到了一些 (http://html5please.com/#audio)。

【讨论】:

你是说它甚至试图运行它必须有不同的版本可用,或者只是当前格式可能无法运行。 完全错过了你所说的整个 polyfill 部分。它们中的任何一个都能够用于流式传输现场广播节目(这就是流的用途),因为我已经看到这可能是某些播放器的限制。谢谢! 对不起,你正在制作一个PhoneGap应用,所以polyfill部分可能无关紧要...... 不幸的是,这看起来很有希望 包含更多格式有帮助吗?如果没有,您仍然可以尝试使用 polyfill:mediaelementjs.com 并尝试是否有帮助。它使用 Flash 作为后备——PhoneGap 是否支持 Flash?【参考方案3】:

您是否考虑过将您的外部站点添加到 config.xml 白名单?

有这方面的文档:

http://docs.phonegap.com/en/2.7.0/guide_whitelist_index.md.html#Domain%20Whitelist%20Guide

【讨论】:

以上是关于Phonegap 构建,HTML5 音频,Android的主要内容,如果未能解决你的问题,请参考以下文章

Javascript / HTML5 - 用于网络桌面/移动应用程序的音频流录制

phonegap/cordova 的 Media 类是不是克服了 html5 中 iOS/android 音频的限制?

Android Phonegap HTML5 音频标签不起作用

iPhone 上来电后,Phonegap HTML5 音频无法恢复播放

Phaser HTML5 应用程序通过Phonegap Cloud Build 移植后无法播放声音

如何在后台为ios音频文件运行Phonegap应用程序