나는 지금 48 시간 동안이 문제를 해결하려고 노력했지만 아무 것도 생각 나지 않았습니다. 다른 AV 라이브 스트림을 재생하는 2 AVPlayer 개체가 있습니다. 분명히, 나는 그들 모두가 동시에 오디오를 재생하기를 원하지 않기 때문에 비디오 중 하나를 뮤트하는 방법이 필요하다. 문제가 해결되지 않은 경우 AVPlayer를 재생 오디오 트랙을 음소거 애플 suggests thisAVPlayer에서 HTTP 라이브 스트림 음소거
은 ...
NSMutableArray *allAudioParams = [NSMutableArray array];
for (AVPlayerItemTrack *track in [_playerItem tracks]) {
if ([track.assetTrack.mediaType isEqualToString:AVMediaTypeAudio]) {
AVMutableAudioMixInputParameters *audioInputParams = [AVMutableAudioMixInputParameters audioMixInputParameters];
[audioInputParams setVolume:0.0 atTime:CMTimeMakeWithSeconds(0,1)];
[audioInputParams setTrackID:[track.assetTrack trackID]];
[allAudioParams addObject:audioInputParams];
// Added to what Apple Suggested
[track setEnabled:NO];
}
}
AVMutableAudioMix *audioZeroMix = [AVMutableAudioMix audioMix];
[audioZeroMix setInputParameters:allAudioParams];
[_playerItem setAudioMix:audioZeroMix];
는 (많은 반복 후) 나는
AVPlayerItemTrack의 enabled 속성을 발견하고 NO에 있음을 설정했습니다. 또한 아무것도. 내가이 NSLog (track.enabled "%의 X", @), 여전히 1.
내가 손해를보고있어로 나타나하려고 할 때 때문에 심지어 아무것도로 등록하지 않고 내가 생각할 수 없다 좋은 대답을 얻기 위해 읽을 수 있고 다시 읽을 수있는 문서의 또 다른 조각입니다. 누군가가 도움을 줄 수 있다면 환상적 일 것입니다.
이 * 업데이트 : 나는 애플의 보류를 얻었고, AVFoundation 팀에 따르면,이 HLS 비디오 트랙을 음소거하거나 사용하지 않도록 설정하는 것은 불가능합니다. 저는 개인적으로 이것이 버그라고 생각하여 bug report을 제출했습니다 (Apple에게이 문제가 있음을 알려주기 위해 똑같이해야합니다). 피드백 페이지를 통해 feature enhancement request을 제출하여 제출할 수도 있습니다.
답변을 주셔서 감사합니다. 문제 해결을 위해 나에게 길을 열었습니다. 나는 OpenAL에서 똑같은 일을하려고 노력하고 있지만, 그것을하기위한 직접적인 방법을 찾지 못했다.alSourcef (sourceID, AL_GAIN, volume)를 통해 볼륨을 줄일 수 있다는 것을 알고 있습니다. 하지만 음소거하는 방법을 모르면 빠른 해결 방법이 있습니까? – chathuram