2016-07-28 105 views
0

我在使用媒體插件從本地存儲播放下載的音頻文件時遇到問題。科爾多瓦媒體插件不在iOS上播放本地文件

我正在使用FileTransfer插件將文件下載到LocalFileSystem.TEMPORARY目錄。

打之前,我檢查音頻文件的使用下面的代碼存在:

window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, function (fileSystem) { 
 
     var rootdir = fileSystem.root; 
 
     var dir_path = rootdir.toURL(); 
 
     
 
     if (success_callback) { 
 
      if (file_name && file_name !== "") { 
 
       success_callback(dir_path + file_name); 
 
      } else { 
 
       success_callback(dir_path); 
 
      } 
 
     } 
 
    }, function() { 
 
     if (error_callback) { 
 
      error_callback("Error in FileSystem request"); 
 
     } 
 
    });

上述方法驗證該文件存在於臨時存儲目錄。

但是,當我在iOS播放文件,我的錯誤與以下日誌

> File Transfer Finished with response code 200 
 
> Audio downloaded successfully. Location: file:///var/mobile/Containers/Data/Application/0B5359AD-0F9E-4FB1-BEB3-71713973A8A2/tmp/user_timestamp.wav 
 
> Play local file from: file:///var/mobile/Containers/Data/Application/0B5359AD-0F9E-4FB1-BEB3-71713973A8A2/tmp/user_timestamp.wav 
 
> Will attempt to use file resource from LocalFileSystem.TEMPORARY directory 
 
> Failed to initialize AVAudioPlayer: The operation couldn’t be completed. (OSStatus error 2003334207.) 
 
> playAudio() Error: {"message":"","code":4}

我已經試過提供完整路徑,只是文件名媒體對象但兩種方法都不起作用。任何幫助將不勝感激。

回答

0

我發現問題所在。事情是iOS沒有播放Android上錄製的文件。它播放iOS錄製的文件沒有任何問題。

以下鏈接幫助我的iOS設置媒體插件文件AudioPlayer.java在Android和CDVSound.m類似的設置,現在每個平臺的音頻播放上其他。

audio format for iOS and Android