8

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

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

これは正常ですか?そして、それを回避するにはどうすればよいですか? iPod プレーヤーの音量レベルに関係なく、アプリのオーディオをシステムの最大音量で再生したいです。(例: ユーザーはシステム ボリュームをデバイスの最大値の 80% に設定しました。ユーザーが iPod オーディオ再生をその 80% の 0 ~ 100% に調整できるようにしながら、アプリでその 80% の 100% でオーディオを再生したい%.) 注: 「ダッキング」には興味がありませんが、アプリの実行中は iPod の音量を常に低く設定します (バックグラウンド ミュージック)。

また、アプリを最初に起動して iPod プレーヤー ([player play] 呼び出しを送信) で再生を押すと、iPod が応答しないという問題もあります。ホームボタンを押すと、iPod アプリに移動して再生を開始し、アプリに戻ると正常に動作します。それとどうなるの?

助けてくれてありがとう!!

4

3 に答える 3

1

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

于 2011-02-22T13:50:18.577 に答える
0

側面の音量ボタンは、システムの音量を制御し、ひいてはアプリのサウンドの音量を制御します。

マスターボリュームコントロールと考えられていると思います。

于 2011-02-22T15:14:37.280 に答える
0

AVItem の setVolume を使用して、特定のサンプルまたはサウンドの音量を設定できます。

【アイテムセットボリューム】

AVItem を作成して、アプリケーションまたは iPhone 上の既存のサウンド ファイルを参照できます。コードは非常に単純で、次のようになります -->

AVItem *item [[AVItem alloc] initWithPath:@"ファイル"]; [アイテムセットボリューム];

ところで、これは残りのオーディオ チャネル (何らかの AVController オブジェクトによってインスタンス化される) には影響せず、コードで設定したボリュームは画面に表示されないため、実行時に変更できるかどうかはわかりません。 .

于 2011-03-27T05:25:45.713 に答える