2011-01-14 20 views
8

「Flite」のテキスト読み上げエンジンを使用して特定のイベントを通知するiPadアプリを作成しています。 Fliteエンジンはレンダリング後にAVAudioPlayerインスタンスを使用してスピーチオーディオを再生します。楽しみのために、私のアプリがMPMusicPlayerController(もちろん)を使って動いている間、ユーザーがiPodの再生(次、前、再生/一時停止、および音量 - 基本)を制御できるように、アプリにいくつかの簡単なコントロールを追加することにしました。iPodの音量がアプリケーションの音量に影響する

私が午前問題は、私はMPMusicPlayerControllerを使用してiPodの音量を調整するとき、私のオーディオの全てが他の効果音や音声、オーディオを含め、影響を受けているということです。サウンドを再生する前に、これらの他のオーディオプレーヤー(AVAudioPlayerインスタンス)の音量を1.0に設定しましたが、音量は常にiPodの音量に制限されているようです...

これは正常ですか?そして、私はそれを回避するために何ができますか? iPodの音量レベルに関係なく、私のアプリのオーディオをシステムのフルボリュームで再生したい。 (例:システムの音量をデバイスの最大音量の80%に設定していましたが、80%の100%でオーディオを再生し、その80%の0-100%までiPodのオーディオ再生を調整できるようにします注:私は "ダッキング"に興味はないが、私のアプリが動いている間(バックグラウンドミュージック)iPodの音量を常に下げている。

-sometimes-は、あなたが最初に([プレーヤーのプレイ]コールを送信します)iPodのプレーヤーのアプリとプレスプレイを起動したときにすることを、私も問題を抱えている、iPodが応答しません。ホームボタンを押した場合、iPodアプリに入って再生を開始すると、一度アプリに戻っても正常に動作します。それをどう扱う?

ご協力いただきありがとうございます。

+0

こんにちは、私もMPMusicPlayerController&AVAudioPlayerで同じ問題に直面しているので、あなたはこれのための解決策を得ましたか? –

+0

いいえ、私は "ダッキング"を実装しましたが、この解決策は私または私のユーザーには何もしません。 – Vic320

答えて

1

これは、指定したオーディオセッションカテゴリと関係があります。 Audio Session Programming Guideをチェックして、適切なカテゴリを選択したかどうかを確認してください。

+0

この文書は役に立たなかったです。私ができるのは、私がやった "ダッキング"を実装することだけですが、これは私、または私のユーザーが望むものではありません... – Vic320

+0

どのオーディオセッションのカテゴリを使用していますか? – jdmunro

+0

:kAudioSessionCategory_MediaPlaybackカテゴリを使用しています。 – Vic320

0

サイドの音量ボタンは、システム音量を制御し、拡張機能ではアプリケーションの音量を制御します。

私はそれがマスターボリュームコントロールであると考えられますね。

+0

サイドボタンの音量コントロールをオーバーライドしようとしていません。私はiPodアプリのボリュームを自分のアプリのボリュームに比べて低くしようとしています。しかし、iPodアプリの音量を下げると、アプリの音量も低下します。すべての音量レベルは、ボタンで設定したマスター音量以下です。 – Vic320

0

あなたは、特定のサンプルの音量を設定したり、あなたのアプリケーション内やiPhone上の既存のサウンドファイルを参照するようにAVItemを作成することができますAVItemのsetVolume

[アイテムsetVolume]

を使用して聞こえることができます。コードはかなりシンプルで、このように見えます - >

AVItem * item [[AVItem alloc] initWithPath:@ "the file"]; [item setVolume];

btwこれはオーディオチャンネルの残りの部分(AVコントローラのオブジェクトによってインスタンス化されたもの)には影響しません。コードに設定した音量は画面に表示されません。それは実行時に。

+0

これは動作しません。音量を100%(1.0)に設定しても、iPodの音量が設定されている音量よりも高くなることはありません。私はなぜiPodのボリューム設定が私のアプリの音量に影響を与えるか分からない。もちろん、私は自分のアプリのボリュームがマスターのボリュームレベルを超えないことを期待しています。アップルがマスターボリュームをiPodボリュームと同じにするかどうかは不思議です... – Vic320

+0

AVAudioPlayerを使用していますか? – luca590

+0

もしあなたがそれを考慮したいかもしれません。 [setVolume]と同じAPIのthatsはおそらくもっとうまくいくでしょう – luca590

関連する問題