1

私の*.wavの仕事は期待通りです。しかし、wavファイルは大きすぎるので、*。mp3または* .oggを再生したいのですが、機能しません。

finchデモプロジェクトにあるこのコード行を使用します

engine = [[Finch alloc] init];
sitar = [[Sound alloc] initWithFile:RSRC(@"sitar.wav")];
[sitar play];

そのため、sitar.wavを.mp3ファイル名に変更するだけです。

注1: mp3やoggであってはなりません。wavほど大きくないファイル形式でも問題ありませんが、どちらですか?

注2: サウンドの使い方がわからなかったので、stackoverflowでfinchを検索して見つけました。見た目は簡単なので、それを使用したいと思いますが、そのサウンドファイル(圧縮コーデックを使用したアンビエント+エフェクトサウンド)を再生する他の簡単な方法を知っている場合は、他の手法にも切り替えます。

4

1 に答える 1

1

残念ながら、フィンチは圧縮オーディオの再生をサポートしていません(まだ?)。デコードシステムは圧縮オーディオデコード用に準備されていますが(デコーダーの作成方法については、PCMデコーダーを参照してください)、現在、OGG、MP3などのデコーダーはありません。また、圧縮オーディオのサポートが提供される場合、圧縮されたサンプルは再生前にメモリに完全に解凍されるため、とにかく非常に長いサウンドを再生することはできません(メモリに収まらないため)。

Finchは、レイテンシーの低い短いサンプルを再生することのみを目的としています。より長い圧縮バックグラウンドトラックを再生したい場合は、AVAudioPlayerを使用してください。

于 2010-06-05T18:44:46.413 に答える