首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS上的MediaStreamTrack :浏览器不支持Phonegap

iOS上的MediaStreamTrack :浏览器不支持Phonegap
EN

Stack Overflow用户
提问于 2015-05-04 03:55:01
回答 1查看 601关注 0票数 0

我写了一个javascript/HTML5应用程序,它需要读取用户的麦克风,并在振幅达到一定值时播放一段简短的mp3

我对javascript不是很有经验,但我找到了一个库,可以让我读取用户的麦克风振幅。Here是指向该库的链接。

然后,我使用以下代码播放mp3:

代码语言:javascript
复制
var audio = new Audio('a.mp3');
audio.play(); 

下面是一个精简的例子,说明了发生了什么以及它是如何组合在一起的:

代码语言:javascript
复制
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。我不完全确定这个错误是什么意思,但我想知道是否有一种更“phonegap友好”的方法来解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2015-09-21 11:38:29

您需要使用将WebRTC引入iOS。仅此一点就可以使代码兼容。它使用MediaStreamTrack.getSources来查找麦克风设备,但getSources现在已弃用,取而代之的是navigator.mediaDevices.enumerateDevices(),因此您可能需要手动屏蔽getSources,在内部使用enumerateDevices,以便它正确返回。我相信插件已经做到了这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30018675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档