2017-04-06 18 views
1

這個插件:media-with-compression幾天前運行良好,但現在我在嘗試記錄時得到了這個:EXCEPTION:Uncaught(在promise ):類型錯誤:window.Media是不是構造media-plugin-with-compression-TypeError:window.Media不是構造函數

我已經宣佈:

declare var window: any; 
declare var Media: any; 

而且我是用這種方式:

this.audioFile = new window.Media(this.audioDirectory + this.audioName, 
      ..... 

我不知道它是因爲一個@ ionic-native的新版本,或者發生了什麼,但是我幾周沒有碰到這個代碼,現在它沒有工作。

任何線索,如果與@離子本機的新版本,非本地插件工作不同?

謝謝!

+0

你能證明你的'package.json'文件? – Sampath

+0

當然:https://pastebin.com/jHcsMzTw – Mystearica

+0

你使用哪個插件? – Sampath

回答

0

您無法在瀏覽器上運行此操作。您必須在實際設備上運行此操作。

在這裏你可以看到如何設置路徑。 iOS Media Plugin

The trick on iOS AND Android is to use .toInternalURL() instead of .toURL() on the file object. This code will work perfectly on both platforms:

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);      
    } 
); 
+0

Hi @Sampath,我正在使用Ionic2,這就是爲什麼我不能單獨使用Media。我在真實設備上使用它,正如我所說的,它在幾天前完美工作,但現在拋出構造函數錯誤。 – Mystearica

+0

從那以後你做了哪些改變? – Sampath

+0

我沒有改變,這就是問題......我能想到的唯一一件它的離子原生。 – Mystearica