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];
}
}
AVMutableAudioMix *audioZeroMix = [AVMutableAudioMix audioMix];
[audioZeroMix setInputParameters:allAudioParams];
[[_player currentItem] setAudioMix:audioZeroMix];
同じコードを使用して、同じ AVPlayer コードで再生しているローカル ビデオ ファイルとプログレッシブ ビデオ URL をミュートできます。
(ライブ ストリーム ビデオ用の可能性があります。AVPlayer インスタンスで利用可能なトラックはボリューム ゼロに設定できますが、次のバッファリング トラックはボリュームで新鮮です。私は正しいですか、それとも他の理由ですか?)
誰でもこの問題について何か考えがあります。これに関するヘルプは非常に高く評価されます。