![](/img/trans.png)
[英]Phone links are not working inside iframe though it does work in div in iOS9 web. how to make phone links make work in iOS9 safari?
[英]Cordova record audio on ios9 does not work
我正在使用Cordova构建一个html5 / JS应用程序。
我必须录制和播放音频,所以我使用Media&File插件,但我有问题让它在iOS上运行。
我的步骤:
1)
我检测平台(Android或iOS)。
如果Android,不需要设置任何东西,它的工作原理。
如果是Ios,我将文件URI设置为'../Library/NoCloud/'(阅读Raymond Camden文章后 ),
然后我在录制前创建文件:
var mediaBaseUrl = '';
if(app.isIOS){
mediaBaseUrl ='../Library/NoCloud/';
createFileSystem();
}
我的createFile函数是:
createFileSystem : function(){
var fileName= mediaBaseUrl+[myFileName];
//asking for a new space
window.requestFileSystem(
LocalFileSystem.PERSISTENT,
0,
//success
function(fileSystem){
fileSystem.root.getFile(
fileName,
{ create: true, exclusive: false },
//success callback
function(){
console.log('ok file created');
},
null
);
},
// error
function() {
console.log("***log: failed in creating media file in requestFileSystem");
}
);
},
2)创建文件后,我使用Media构造函数创建记录文件:
var recordedFile = new Media(
mediaBaseUrl + [myFileName],
// success callback
function () {},
// error callback
function (err) {
console.log("recorded file error " );
console.log(err)
}
);
3)在配置XML中,我有这行记录在iOS库文件夹中,并且没有保存在云中:
<preference name="iosPersistentFileLocation" value="Library" />
<preference name="BackupWebStorage" value="none" />
我的问题 :
在Android设备上,一切都很好,我可以录制然后听音频文件。
但在iOS设备(ipad2)上,有些事情很奇怪:
使用我的文件名“../Library/NoCloud/myFileName”,我没有成功回调fileSystem.root.getFile函数,但我可以看到一个文件在我的ipad Library / NoCloud文件夹中有一个好名字和好地方, 除了该文件为空。 因此,Media构造函数无法播放该文件并返回错误。
如果我将myFileName设置为“myFileName”,我有文件创建的回调('ok file created'),但是Media构造函数无法访问该文件并返回错误:
message: "Cannot use audio file from resource 'test.wav'", code: 1
我已经检查过ipad麦克风,它已为此应用程序激活。 我相信它在ipad(现在是iOS 9.3.2)上的iOS更新之前有效,但我不确定了。 有什么我做错了,还是有新的方式来处理?
谢谢 !
您必须包含cdvfile:// localhost / library-nosync / with / Library / NoCloud
即cdvfile:// localhost / library-nosync //必须在url中提供Library / NoCloud
请记住,假设库文件夹位于www文件夹中,则会给出URL
这个问题来自ios9以及之后
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.