2

ipod でアプリ内オーディオを再生しようとしています。オーディオ ファイルの再生に使用しているコードは次のとおりです。

コード:

       [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];
       UInt32 doSetProperty = 1;
       AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryMixWithOthers,  sizeof(doSetProperty), &doSetProperty);
       [[AVAudioSession sharedInstance] setActive: YES error: nil];

       if(error)
       {
           NSLog(@"Some error happened");
       }

    NSString *path = [[NSBundle mainBundle] pathForResource:effect ofType:type];
    myPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
    myPlayer.delegate = self;
    myPlayer.numberOfLoops = -2;
    myPlayer.volume = 1.0f;
    [myPlayer play];

そして、私が使用しているiPod音楽を再生するには

コード:

player = [MPMusicPlayerController iPodMusicPlayer];

私の iPod は、オーディオの再生が始まるまでは正常に再生されますが、オーディオが停止すると、iPod に戻って再生することができなくなります。私は使っている

コード:

NSString *value = [[NSUserDefaults standardUserDefaults] stringForKey:@"sound"];

if([value compare:@"ON"] == NSOrderedSame && myPlayer != nil)
{
    [myPlayer stop];
    [myPlayer release];
    myPlayer = nil;
}

NSError *error = nil;

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&error];

if(error)
{
    NSLog(@"Some error happened");
}

オーディオを停止してから呼び出す

コード:

 [player play];

iPodの音楽を再生しますが、音楽は再生されず、タイトルがnullであると表示されます。

誰かがこれで私を助けることができれば、本当に感謝しています。

よろしく、アンクル

4

3 に答える 3

1

オーディオ セッションのセットアップ (Ambient カテゴリを含む) をアプリケーション デリゲートの didFinishLaunchingWithOptions に移動し、Playback カテゴリをまったく使用しないことをお勧めします。Ambient 設定で AVAudio サウンドを問題なく再生できます。

AV サウンドを再生するたびに iPod の音楽を削除したい場合は、再生カテゴリのみを使用する必要があります。(あなたが何をしようとしているのか正確にはわかりません。)

iPod の音楽を再開しようとすると発生するエラーは、MPMusicPlayerController オブジェクトが AVAudio サウンドによって停止されたときに曲のキューをリセットし、MP プレーヤーを再度セットアップする必要があることを示しています。「Title is null」は、MP プレーヤーでぶら下がっているポインターなどのように聞こえます。

于 2011-05-09T18:27:57.803 に答える
1

AVAudioPlayer で iPod オーディオを再生することはできません。*AVURLAsset を使用して ipod からライブラリ アセット リンクを mp3 または wav に変換し、それをドキュメント ライブラリに保存する必要があります。IOS.5 には現在、iPod から mp3 ファイルへの変換 (AudioExportSession) にバグがあるため、不可能です。ごめん。

于 2012-01-11T14:14:23.453 に答える