我已经在Android上成功实现了nativescript-audio插件。我在项目中使用纯JS。当我在ios上运行它时,出现以下错误。
我在网上找到的大多数示例都出现了此错误(包括以下示例,这些示例在android上完美运行)。
var ns_audio = require("nativescript-audio");
var player = new ns_audio.TNSPlayer();
var playerOptions = {
audioFile: "http://www.noiseaddicts.com/samples_1w72b820/2514.mp3",
loop: false,
completeCallback: function () {
console.log('completePlayer')
},
errorCallback: function (errorObject) {
console.log(JSON.stringify(errorObject));
},
infoCallback: function (args) {
console.log(JSON.stringify(args));
}
};
player.playFromUrl(playerOptions)
.then(function (res) {
console.log(res);
})
.catch(function () {
console.log("didn't work...");
})
看起来录音工作正常(没有错误,并且响应正确,尽管我无法测试文件是否已正确创建...)但是播放会出现此错误。任何的想法 ?
最佳答案
我为您创建了一个普通的JS playground。我已经测试了您在帖子中提供的mp3 URL,并且可以在ios上正常工作。
试一试,看看你是否缺少什么。这是
function pageLoaded(args) {
var page = args.object;
const player = new audio.TNSPlayer();
const playerOptions = {
audioFile: 'http://www.noiseaddicts.com/samples_1w72b820/2514.mp3',
loop: false,
completeCallback: function () {
console.log('finished playing');
},
errorCallback: function (errorObject) {
console.log(JSON.stringify(errorObject));
},
infoCallback: function (args) {
console.log(JSON.stringify(args));
}
};
player
.playFromUrl(playerOptions)
.then(function (res) {
console.log(res);
})
.catch(function (err) {
console.log('something went wrong...', err);
});
page.bindingContext = homeViewModel;
}