2012-02-08 28 views
1

iOSを初めて使用し、アプリを開発しています。 私は、アプリが起動されたときにバックグラウンドでオーディオファイルを再生する方法の簡単な例を得るために、すべてを探してきました。私が開発しているアプリは音楽レッスンに関連しているので、ホーム画面がアクティブなときにこのオーディオを再生する必要があります。これは私がこれまで行ってきたことです...iOS 5 - アプリの起動時にバックグラウンドでオーディオファイルを再生する

  1. 背景画像とアプリケーションに進むためのボタンを備えたホーム画面(UIViewController)を作成しました。
  2. 私は、次のコードブロックを持っている私のコントローラでは、プロジェクトに
  3. をオーディオファイルを追加した.plist

  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私はaudioPlayer宣言を(非原子、保持)(私はそれが意味するものを理解する必要がある)と.hに移動し、.mで合成しました。 – javacup