2012-02-08 53 views
1

我是iOS新手和開發應用程序。 我一直在尋找一個簡單的例子來說明如何在應用程序啓動時在後臺播放音頻文件。由於我正在開發的應用程序與音樂課有關,因此我需要在主屏幕處於活動狀態時播放此音頻。這是我迄今爲止所做的...iOS 5 - 在應用程序啓動時在後臺播放音頻文件

  1. 創建一個主屏幕(UIViewController)與一些背景圖像和一個按鈕進一步導航到應用程序。
  2. 中的.plist設置「所需的背景模式」
  3. 添加音頻文件到項目
  4. 在我的控制,我有以下的代碼塊。

    - (void)viewDidLoad 
    { 
        [super viewDidLoad]; 
    
        //Set some labels here 
        //Set a background image 
    
        NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"shrutiFsharp" ofType:@"mp3"]]; 
        AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil]; 
    
        [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 
        [[AVAudioSession sharedInstance] setActive: YES error: nil]; 
        [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 
    
        [audioPlayer play]; 
    
    } 
    

所有的標籤,背景圖像,按鈕顯示了罰款..和我能夠瀏覽到另一個視圖。但是當我在主屏幕上時,我無法播放音頻文件。我正在運行iPhone 5.0模擬器。

我在控制檯中看不到任何錯誤消息。

您在這裏看到的代碼來自已發佈的示例..但我不太清楚爲什麼這不起作用。我可能很想念一些東西。任何幫助表示讚賞。

-KD

回答

0

您應該按照預期的方式使用錯誤參數。音頻播放器完全有可能試圖告訴你爲什麼它不能繼續,但你忽略了它!

NSError *error = nil; 
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url 
                    error:&error]; 
if (error) { 
    NSLog(@"audio player error: %@", [error localizedDescription]); 
} 
+0

感謝您的回覆。我在這篇文章中找到了解決方案。 http://stackoverflow.com/questions/8323294/playing-wav-sound-file-with-avfoundation。我用.h(非原子,保留)(我需要理解它的含義)將.m音頻播放器聲明移到.m中並將其合成,並且它可以工作! – javacup 2012-02-08 18:43:40

相關問題