media-plugin-with-compression - TypeError:window.Media不是构造函数

时间:2017-04-06 12:41:15

标签: ionic2 cordova-plugins ionic2-providers

这个插件:media-with-compression几天前工作得很好,但是现在当我尝试记录时我得到了这个:EXCEPTION: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 个答案:

答案 0 :(得分:0)

您无法在浏览器上运行此功能。您必须在实际设备上运行此功能。

您可以在此处查看如何设置路径。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);                    
    }
);