Медиа-плагин со сжатием - 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);                    
    }
);
Другие вопросы по тегам