の音量を設定する方法を尋ねる質問がたくさんありますが、iOS でプレーヤーの現在の音量を取得するにはどうすればよいですAVPlayer
か?
たとえば、曲を現在のレベルからフェードアウトさせようとしています。ボリュームを別の場所に保存して参照することもできますが、AVPlayer から直接値を読み取ることをお勧めします。
の音量を設定する方法を尋ねる質問がたくさんありますが、iOS でプレーヤーの現在の音量を取得するにはどうすればよいですAVPlayer
か?
たとえば、曲を現在のレベルからフェードアウトさせようとしています。ボリュームを別の場所に保存して参照することもできますが、AVPlayer から直接値を読み取ることをお勧めします。
AVPlayer
には 1 つ以上のAVPlayerItem
オブジェクトが含まれており、AVPlayer によって再生されるメディアのオーディオ レベルを取得および設定するには、これらのオブジェクトを使用します。AVPlayerItemのドキュメントにアクセスしてプロパティを確認し、少し異なる質問audioMix
に対する私の回答も確認してください。
あなたのコメントに続いて、これは(私が思うに)メソッドからボリューム値を取得する- (BOOL)getVolumeRampForTime:(CMTime)time startVolume:(float *)startVolume endVolume:(float *)endVolume timeRange:(CMTimeRange *)timeRange
方法です:
// Get your AVAudioMixInputParameters instance, here called audioMixInputParameters
// currentTime is the current playhead time of your media
float startVolume;
float endVolume;
CMTimeRange timeRange;
bool success = [audioMixInputParameters getVolumeRampForTime: currentTime
startVolume: &startVolume
endVolume: &endVolume
timeRange: &timeRange];
// startVolume and endVolume should now be set
NSLog(@"Start volume: %f | End volume: %f", startVolume, endVolume);
AVPlayer
OS X に関するApple のドキュメントによると、ボリューム プロパティがリストされていますが、iOS の同じクラスのドキュメントにはリストされていません。あなたのプロジェクトは、AVAudioPlayer
代わりに使用することを許可しますか? これには、iOS 用の合成ボリューム プロパティがあり、設定/取得がはるかに簡単です。
AVPlayerクラスのvolumeプロパティを使用できます。これがAVPlayerクラスのリファレンスリンクです。それからの引用:
volume
プレーヤーの現在の音量を示します。@property(nonatomic)float volume
ディスカッション
0.0は「すべてのオーディオを無音にする」ことを意味し、1.0は「現在のアイテムの最大音量で再生する」ことを意味します。可用性
OSXv10.7以降で使用できます。
AVPlayer.hで 宣言
編集:
代わりに、システムボリュームを取得してみてください。このリンクは2つの方法を提供します。