2013-04-05 2 views
1

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

Я сделал это:

NSMutableArray *allAudioParams = [NSMutableArray array]; 
AVMutableAudioMixInputParameters *audioInputParams =[AVMutableAudioMixInputParameters audioMixInputParameters]; 
[audioInputParams setVolume:volumeSlider.value atTime:kCMTimeZero]; 
[allAudioParams addObject:audioInputParams]; 
AVMutableAudioMix *audioZeroMix = [AVMutableAudioMix audioMix]; 
[audioZeroMix setInputParameters:allAudioParams]; 
[self.playerItem setAudioMix:audioZeroMix]; 

Но это не работает для меня, так что может кто-нибудь пожалуйста, предложить мне любое другое решение для этого я сделал так много R & д, но не в состоянии найти правильное решение.

Спасибо.

ответ

0

Вы можете использовать ниже код для изменения громкости:

NSArray *audioTracks = [asset tracksWithMediaType:AVMediaTypeAudio]; 

NSMutableArray *allAudioParams = [NSMutableArray array]; 
for (AVAssetTrack *track in audioTracks) { 
    AVMutableAudioMixInputParameters *audioInputParams = 
    [AVMutableAudioMixInputParameters audioMixInputParameters]; 
    [audioInputParams setVolume:volume atTime:kCMTimeZero]; 
    [audioInputParams setTrackID:[track trackID]]; 
    [allAudioParams addObject:audioInputParams]; 
} 

AVMutableAudioMix *audioMix = [AVMutableAudioMix audioMix]; 
[audioMix setInputParameters:allAudioParams]; 

[playerItem setAudioMix:audioMix]; 
+0

Это работает для меня спасибо чувак. – 2013-04-05 12:27:14

+0

Но это не работает с Live Stream (playlist.m3u8) любым решением? – Buntylm

0
-(void)doVolumeFade 
{ 
    if (self.player.volume > 0.1) { 
     self.player.volume = self.player.volume - 0.1; 
     [self performSelector:@selector(doVolumeFade) withObject:nil afterDelay:0.1];  
    } else { 
     // Stop and get the sound ready for playing again 
     [self.player stop]; 
     self.player.currentTime = 0; 
     [self.player prepareToPlay]; 
     self.player.volume = 1.0; 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^