我正在使用AVPlayer播放廣播流。 爲了初始化播放器我正在使用下面的代碼:如何在播放廣播流時設置AVPLayer的音量
self.asset = [AVAsset assetWithURL:self.url];
self.item = [AVPlayerItem playerItemWithAsset:self.asset];
self.player = [AVPlayer playerWithPlayerItem:self.item];
我讀過這個問題Adjusting the volume of a playing AVPlayer
,我正在嘗試設置與音量滑塊值
- (void)setVolume:(float)volume
{
_volume = volume;
NSArray *audioTracks = self.asset.tracks;
NSMutableArray *allAudioParams = [NSMutableArray array];
for (AVAssetTrack *track in audioTracks) {
AVMutableAudioMixInputParameters *audioInputParams =
[AVMutableAudioMixInputParameters audioMixInputParameters];
[audioInputParams setVolume:volume atTime:kCMTimeZero];
[allAudioParams addObject:audioInputParams];
[audioInputParams setTrackID:[track trackID]];
}
AVMutableAudioMix *audioMix = [AVMutableAudioMix audioMix];
[audioMix setInputParameters:allAudioParams];
NSLog(@"%@", self.player.currentItem);
NSLog(@"%f", volume);
[self.player.currentItem setAudioMix:audioMix];
}
我也試圖設置
[audioInputParams setVolume:volume atTime:self.player.currentTime];
但是沒有任何軌道在那數組(self.asset.tracks), 及其對音量沒有任何影響。 (我也不能得到任何元數據), 我不能使用AVAudioPlayer通過URL
的AVAudioPlayer類的實例播放音頻流,所謂的音頻播放器, 提供了從音頻數據的回放文件或內存。
Apple建議您使用此類進行音頻播放,除非您正在播放從網絡流捕獲的音頻或要求非常低的I/O延遲 。
我在考慮使用代碼https://github.com/DigitalDJ/AudioStreamer/downloads 播放廣播流,但我不知道該怎麼Audiotoolbox設定的音量。
請幫幫我!謝謝!
你能告訴我,什麼也我應該知道將MPVolumeView添加到我的視圖。我遇到了一些問題 - 當我使用此代碼將其添加到視圖中時,它不會顯示在我的視圖中。我不明白爲什麼。謝謝 – BergP
滑塊沒有出現在模擬器中,MPVolumeView滑塊鏈接到硬件音量按鈕,它只有在iPhone/iPad上測試時纔會出現。但除此之外,它的效果很好,用戶界面與其他音量滑塊相同。 – EmilDo
@ Emk0DJ你用這個保存了我的培根!我嘗試了一切,所以歡呼! –