0

ミュージックプレーヤーのボリュームプロパティを簡単に設定できるのはわかっていますが、ナビゲーションの説明にナレーションを使用する場合、Google マップのようにスムーズに設定したいと考えています。

これを行う最善の方法は何だろうと考えていました。

ありがとう!

4

1 に答える 1

1

繰り返し NSTimer を使用してみます。タイマーが作動するたびに、音量を少し下げます。目標値に達すると、タイマーを無効にします。

繰り返しイベントを取得する他の方法 (時間の経過とともに段階的に何かを実行できるようにするため)DISPATCH_SOURCE_TYPE_TIMERと CADisplayLink があります。しかし、タイマーを使うのがおそらく最も簡単な方法だと思います。

再生している既存のサウンドがある場合、まったく異なる解決策は、再生を開始する前にフェードアウトを適用することです (その後、サウンド自体がフェードアウトするため、すべて同じ音量で再生します。分かりますか)。AVFoundation は、それを行うためのツールを提供します (例: setVolumeRampFromStartVolume:toEndVolume:timeRange:)。

于 2013-04-10T02:31:14.117 に答える