iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 使用AVPlayer静音实时流的音轨大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用AVPlayer播放实时流(m3U8文件).它使用AVPlayer完美播放,但我无法将其静音.

我正在使用以下代码来静音音频.

NSMutableArray *allAudioParams = [NSMutableArray array];
for (AVPlayerItemTrack *track in _player.currentItem.tracks)
{
    if ([track.assetTrack.mediaType isEqual:AVMediaTypeAudio])
    {
        AVMutableAudiomixinputParameters *audioInputParams =    [AVMutableAudiomixinputParameters audiomixinputParameters];
        [audioInputParams setVolume:0.0 atTime:kCMTimeZero];
        [audioInputParams setTrackID:[track.assetTrack trackID]];
        [allAudioParams addObject:audioInputParams];
    }
}

AVMutableAu@L_684_2@mix *audioZeroMix = [AVMutableAu@L_684_2@mix au@L_684_2@mix];
[audioZeroMix seTinputParameters:allAudioParams];
[[_player currentItem] setAu@L_684_2@mix:audioZeroMix];

使用相同的代码,我可以静音本地视频文件以及我在相同的AVPlayer代码中播放的渐进式视频网址.

(可能对于直播视频,AVPlayer实例中可用的曲目可以设置为ZERO,但下一个缓冲曲目是新鲜的音量,我是对的还是其他任何原因?)

任何人都对这个问题有任何想法.对此的任何帮助都非常值得一提.

解决方法

你的假设是正确的.您无法将正在播放http直播的播放器静音.我已就此提交了雷达.

在我的应用程序中,我们控制流,因此我们生成一个没有音频的流,一个带有音频的相同流,并在2之间切换以打开和关闭声音.这是你能做的最好的事情.

AVAu@L_684_2@mix解决方案不适用于直播流.我试过了.查看底部的说明,说明它仅适用于基于文件的资产:
http://developer.apple.com/library/ios/#qa/qa1716/_index.html

看起来Mac开发者在他们的AVPlayer上获得了一个静音属性,但iOS尚未拥有它.

现在,如果可以,您将不得不解决流中的问题.

大佬总结

以上是大佬教程为你收集整理的ios – 使用AVPlayer静音实时流的音轨全部内容,希望文章能够帮你解决ios – 使用AVPlayer静音实时流的音轨所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。