質問

AvassetWriterInputを使用して、ユーザーからMP3ファイルを取得し、電子メールで送信しています(DRM無料のみ)。 PCMを使用するときに動作するプロセスを取得しましたが、MP3、M4A、またはCAFを試してみると、機能しないファイルを取得するか、空のデータを取得します。出力設定が原因だと思います。使用されている出力設定は、以下のデータを描画しません。私はそれをすべて変えることにオープンです。ありがとう!

    NSDictionary *outputSettings = [NSDictionary dictionaryWithObjectsAndKeys:
                                [ NSNumber numberWithInt: kAudioFormatMPEG4AAC], AVFormatIDKey,
                                [ NSNumber numberWithInt: 1 ], AVNumberOfChannelsKey,
                                [ NSNumber numberWithFloat: 44100.0 ], AVSampleRateKey,
                                [ NSData dataWithBytes: &channelLayout length: sizeof( AudioChannelLayout ) ], AVChannelLayoutKey,
                                [ NSNumber numberWithInt: 64000 ], AVEncoderBitRateKey,
                                nil];
役に立ちましたか?

解決

AppleはAPIを提供しません 書き込み MP3ファイルは、MP3が単なるヘッダーレスパケットであり、単にRAWパケットを書き出すだけで正常に機能するためです。

M4A/CAFコンテナのAACデータを書き出すことに関しては、私は確信していませんが、AvenCoderbitrateKeyは何もエンコードしていないので、間違いなくそこにいるべきではありません - あなたはただデータを渡すだけです。それでは、AvassetWriterを忘れて、PassthroughプリセットでAvassetExportsessionを使用してみませんか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top