Получить объем AVPlayer в iOS

Есть много вопросов о том, как установить громкость AVPlayer , но как получить текущий объем проигрывателя в iOS ?

Например, я пытаюсь вытеснить песню с ее текущего уровня. Я мог бы сохранить объем в другом месте и ссылаться на него, но скорее прочитал бы значение непосредственно из AVPlayer.

AVPlayer содержит один или несколько объектов AVPlayerItem , и именно через эти объекты вы можете получить и установить уровни звука для медиа, воспроизводимого AVPlayer. Перейдите в документы AVPlayerItem и посмотрите на свойство audioMix , а также проверьте мой ответ на несколько другой вопрос, который должен по-прежнему предоставлять некоторую информацию.


Следуя за вашим комментарием, это (я думаю), как вы получите значения громкости из - (BOOL)getVolumeRampForTime:(CMTime)time startVolume:(float *)startVolume endVolume:(float *)endVolume timeRange:(CMTimeRange *)timeRange метод - (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); 

Согласно документации Apple AVPlayer для OS X , в ней перечислены свойства тома, но документация для одного и того же класса в iOS не отображает список. Ваш проект позволит вам вместо этого использовать AVAudioPlayer ? У этого есть свойство синтезированного тома для iOS, которое намного легче установить / извлечь.

Вы можете использовать свойство volume класса AVPlayer. Вот ссылка ссылки на класс AVPlayer . Цитата из этого:

объем
Указывает текущий уровень громкости проигрывателя.

@property (неатомный) объем поплавка
обсуждение
0.0 означает «отключить весь звук», 1.0 означает «воспроизведение на полном объеме текущего элемента».

Доступность
Доступно в OS X версии 10.7 и более поздних версиях.

Объявлено в
AVPlayer.h

редактировать:

Вместо этого вы можете попробовать получить объем системы. Эта ссылка предоставляет два способа.