我写了一个javascript
/ HTML5
个应用,如果幅度达到一定值,则需要阅读用户的麦克风并播放短mp3
。
我不是所有使用javascript的人,但我找到了一个允许我读取用户麦克风幅度的库。 Here是图书馆的链接。
然后我使用以下代码播放mp3:
var audio = new Audio('a.mp3');
audio.play();
下面是一个精简的例子,说明正在发生的事情以及它如何组合在一起:
var mic = new p5.AudioIn();
var Timer;
function start()
{
Timer = setInterval(tick, 100);
mic.start();
}
function stop()
{
clearInterval(Timer);
mic.stop();
}
function playIt()
{
clearInterval(Timer);
mic.stop();
var audio = new Audio('a.mp3');
audio.play();
alarmTimeout = setTimeout(start, 10000);
}
function tick()
{
var p = parseInt(mic.getLevel()*100);
if (p > 80)
{
playIt();
}
}
该应用在浏览器中完美运行(我只测试了Chrome),但我想使用phonegap
将此应用作为原生iOS
应用运行。
当我复制我的HTML / javascript并运行它时,标题中出现错误The browser does not support MediaStreamTrack
。我不完全确定这个错误意味着什么,但我想知道是否有更多的"手机友好的"接近这个的方法?
答案 0 :(得分:0)
您需要使用iosrtc plugin将WebRTC带到iOS。仅此一点就可以使代码兼容。它使用MediaStreamTrack.getSources
查找麦克风设备,但getSources
现已弃用navigator.mediaDevices.enumerateDevices()
,因此您可能需要使用{{1}手动填充getSources
enumerateDevices
在内部,以便它正确返回。我相信插件已经这样做了。