iPod ライブラリの音楽ファイルを AVAudioPlayer に取り込むにはどうすればよいですか?
5 に答える
David が言及しているように、これよりも多くの作業が必要です。たとえば、メディア アイテムのコレクションで次のトラックの再生を管理する必要がありますが、ユーザーが iPod ピッカーから選択した一連の MPMediaItems を使用してそれを行う 1 つの方法を次に示します。 . AssetURL はあなたが使用するもので、MP3 ファイルへのパスを提供します (例: ipod-library://item/item.mp3?id=-6889145242935454020)
NSURL *anUrl = [[mediaItems objectAtIndex: 0] valueForProperty:MPMediaItemPropertyAssetURL];
self.audioPlayerMusic = [[[AVPlayer alloc] initWithURL:anUrl] retain];
[self.audioPlayerMusic play];
はい、MPMusicPlayerController
クラスに頼らずに SDK を使用して iPod ライブラリから曲を再生できます。
より基本的なクラスは、曲のプロパティAVPlayer
の値を使用して、iPod ライブラリのオーディオ ファイルを処理できます。すべてを適切にセットアップするには、さらに多くの作業を行う必要がありますが、それは可能です。NSUrl
MPMediaItemPropertyAssetURL
SDK には、iPod ライブラリからファイルを読み取るための準備がありません (AVAudioPlayer
それを使用するために必要なため)。iPod ライブラリのアイテムを再生するには、MPMusicPlayerController
クラスを使用します。
編集:これはもはや正確ではありません。AVPlayer クラスの使用について説明している以下の回答を参照してください。
で dB 計測に関する情報を取得する可能性はありますMPMusicPlayerController
か? おそらく、AVAudioSession
for Recording を並行して開始することでうまくいくでしょうか?? ある種のボリューム スペクトログラフを作成するには、dB 値が必要です。
- (void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection {
NSURL *url = [[mediaItemCollection.items objectAtIndex:0] valueForProperty:MPMediaItemPropertyAssetURL];
NSError *error;
self.player = [[AVAudioPlayer alloc] url error:&error];
if (!error) {
[self.player prepareToPlay];
[self.player play];
}
[mediaPicker dismissModalViewControllerAnimated:YES];
}