本質的に私はAVAsset
ファイルを連結したいと考えています。私は何をすべきかという大まかな考え方を持っていますが、私はオーディオファイルの読み込みに苦労しています。AVAssetトラックが空です
AVAudioPlayer
でファイルを再生することができます。私は端末からそれらのファイルを見ることができますが、AVAssetURL
をロードしようとすると常にトラック用の空の配列が返されます。
私が使用していますURL:
file:///Users/evolve/Library/Developer/CoreSimulator/Devices/8BF465E8-321C-47E6-BF2E-049C5E900F3C/data/Containers/Data/Application/4A2D29B2-E5B4-4D07-AE6B-1DD15F5E59A3/Documents/temp.pcm
資産がロードされている:その結果
NSURL *firstAudioFileLocation = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@%@", workingDirectory , @"/temp.pcm"]];
を
AVAsset *test = [AVURLAsset URLAssetWithURL:firstAudioFileLocation options:nil];
しかし、これを呼び出すとき:
NSLog(@" total tracks %@", test.tracks);
私の出力は常にtotal tracks()
です。
その後、AVMutableCompositionTrack
にそれらを追加すると、AVAsset
が正しく読み込まれていないように見えて、アプリケーションがクラッシュするようになります。
私は、以下を含む資産をロードするための他のバリエーションを果たしている:
NSURL *alternativeLocation = [[NSBundle mainBundle] URLForResource:@"temp" withExtension:@"pcm"];
としてだけでなく、ドキュメントからオプションでAVAssetをロードしようとしている:
NSDictionary *assetOptions = @{AVURLAssetPreferPreciseDurationAndTimingKey: @YES};
ローカルリソースからトラックをロードするにはどうすればいいですか? AVAudioRecorder
さんがお送りしましたか?
EDIT
私の周り突くを持っていたし、私が記録し.CAFファイルの拡張子をロードすることができました。
.PCMはAVAssetではサポートされていないようですが、このページも大きな助けになりました。 https://developer.apple.com/documentation/avfoundation/avfiletype
これは大規模に役立ちましたが、空の配列を返します。 AVKeyValueStatusを使用してそれを調べた後、リニアPCMはAVAssetに対してサポートされていないようですか?私は誤解していますが、構成のためにサポートされているタイプのリストはありますか? – Smallbro
.pcmファイルは未処理ですか?これはサポートされているフォーマットではありません(奇妙なことです)、wavヘッダを置くとうまくいきます。 –