2017-07-20 17 views
0

iOSで奇妙な問題が発生しています。Ionic 3でオーディオを録音して再生する

Ionic Native Mediaプラグインを使用してオーディオを録音し、HTML5 Web Audio API(WavesurferJSまたはHowlerJS)を使用して録音を再生しようとしています。 録音後すぐに録音を再生しようとするとオーディオは再生されませんが、アプリケーションを終了してから再度開くと、オーディオは正常に再生されます。

HowlerJSがスローしているエラーは、「オーディオのデコードエラー」です。私の考えは、ネイティブメディアのプラグインがファイルを完全にリリースしていないため、オーディオデータを読み込むためにHowlerJSに許可を与えていないということです。

ご意見やご指摘をいただければ幸いです。

答えて

0

https://github.com/ionic-team/ionic-native/blob/master/src/%40ionic-native/plugins/media/index.ts - コメントで何かを言及..

* Some hints if you are using iOS and recording doesn't work: 
* 1.) Try to use a absolute file path but remove beginning "file://". 
* Then it looks like: `/var/mobile/Containers/Data/Application/AF438B8B-7724-4FBB-8E69-083463224FC4/tmp/my_file.m4a` 
* Example: `this.media.create(this.file.tempDirectory.replace(/^file:\/\//, '') + 'my_file.m4a')` 
* 2.) If that's not working, too, create the file before using. 
* Example: 
* ```typescript 
* import { Media, MediaObject } from '@ionic-native/media'; 
* import { File } from '@ionic-native/file'; 
* 
* ... 
* 
* constructor(private media: Media, private file: File) { } 
* 
* ... 
* 
* this.file.createFile(this.file.tempDirectory, 'my_file.m4a', true).then(() => { 
* let file = this.media.create(this.file.tempDirectory.replace(/^file:\/\//, '') + 'my_file.m4a'); 
* file.startRecord(); 
* window.setTimeout(() => file.stopRecord(), 10000); 
* }); 
* ``` 
* 
* You can find the reasons here: https://github.com/ionic-team/ionic-native/issues/1452#issuecomment-299605906 
* @classes 
* MediaObject 
* @interfaces 
* MediaError 
*/ 
関連する問題