Медиа-плагин со сжатием - TypeError: window.Media не является конструктором
Этот плагин: media-with-Compression хорошо работал несколько дней назад, но теперь я получаю это, когда пытаюсь записать: ИСКЛЮЧЕНИЕ: Uncaught (в обещании): TypeError: window.Media не является конструктором
Я уже заявил:
declare var window: any;
declare var Media: any;
И я использовал это так:
this.audioFile = new window.Media(this.audioDirectory + this.audioName,
.....
Я не знаю, потому что это новая версия @ionic-native или что случилось, но я несколько недель не трогал этот код, и теперь он не работает.
Любая подсказка, если с новыми версиями @ionic-native плагины, не являющиеся родными, работают по-другому?
Спасибо!
1 ответ
Вы не можете запустить это в браузере. Вы должны запустить это на фактическом устройстве.
Здесь вы можете увидеть, как установить путь. iOS Media Plugin
Хитрость в iOS и Android заключается в использовании.toInternalURL() вместо.toURL() в объекте файла. Этот код будет отлично работать на обеих платформах:
window.requestFileSystem(
LocalFileSystem.PERSISTENT,
0,
function(fileSystem) {
fileSystem.root.getDirectory('app-data/main-packages/en/', {create: false}, function(sourceDir){
sourceDir.getFile('2.mp3', {create: false}, function(file){
console.log('file url: ', file.toInternalURL());
var mymedia = new Media(file.toInternalURL());
mymedia.play();
});
});
},
function(err){
console.log('Error in requestFilesystem, err.code', err.code);
}
);