2012-03-25 7 views
1
-(void)viewDidAppear:(BOOL)animated 

{ 
    CFBundleRef mainBundle = CFBundleGetMainBundle(); 
    CFURLRef soundFileURLRef; 
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Intro", 
               CFSTR ("wav"), NULL); 
    UInt32 soundID; 
    AudioServicesCreateSystemSoundID (soundFileURLRef, &soundID); 
    AudioServicesPlaySystemSound (soundID); 
} 

私はこれを初心者です。私は、ビューコントローラのバックグラウンドでwavファイルを再生しようとしています。私はもともと30秒のwavファイルを作った、それは再生されません、私は10秒にオーディオファイルの長さを減らし、それはビューコントローラで正常に再生されます。私の質問は、このオーディオファイルをループする方法、および/または長いオーディオファイルを再生する方法です。また、私はビューコントローラを離れるときにオーディオが停止します。特定のView Controllerでオーディオをループする方法

私はiPhone4の& 4S(iOSの5.1)事前に

おかげで...

答えて

5

アップルのドキュメントの状態

http://developer.apple.com/library/ios/#documentation/AudioToolbox/Reference/SystemSoundServicesReference/Reference/reference.html

でアプリを実行しているのXcode 4.3 を使用しています

System Sound Servicesを使用して、短い(30秒以下)サウンドを再生できます。インターフェイスはレベル、位置、ループ、またはタイミングコントロールを提供せず、同時再生もサポートしていません。一度に1つのサウンドしか再生できません。 System Sound Servicesを使用して可聴アラートを提供できます。一部のiOSデバイスでは、アラートに振動が含まれることがあります。

システムサウンドを使用しているときはループが使用できません。このチュートリアル http://mobileorchard.com/easy-audio-playback-with-avaudioplayer/

- (void)viewDidLoad { 
[super viewDidLoad]; 

NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/audiofile.mp3", [[NSBundle mainBundle] resourcePath]]]; 

NSError *error; 
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error]; 
audioPlayer.numberOfLoops = -1; 

if (audioPlayer == nil) 
    NSLog([error description]); 
else 
    [audioPlayer play]; 

} 

をチェックアウトすることができます

それはあなたが負の数にnumberOfLoopsプロパティを設定している場合

無限にループするaudioPlayerを引き起こし、AVFoundationフレームワークを追加することを忘れていけないと述べていますあなたのプロジェクトに

+0

ありがとうございました。 – Austinj

関連する問題