29

AVPlayer でビデオを再生していますが、再生中にオーディオだけをミュートする必要があります。Objective Cで行う方法を提案してください。

ありがとう、スレッシュ

4

6 に答える 6

32

iOS7 以降、AVPlayerisMutedプロパティを に設定できますtrue

Objective C では、プロパティは と呼ばれmutedます。

参照: https://developer.apple.com/documentation/avfoundation/avplayer/1387544-ismuted

于 2015-01-28T03:34:51.877 に答える
10

これで問題が解決するはずです...

AVURLAsset *asset = [[avPlayer currentItem] asset];
NSArray *audioTracks = [asset tracksWithMediaType:AVMediaTypeAudio];

// Mute all the audio tracks
NSMutableArray *allAudioParams = [NSMutableArray array];
for (AVAssetTrack *track in audioTracks) {
    AVMutableAudioMixInputParameters *audioInputParams =    [AVMutableAudioMixInputParameters audioMixInputParameters];
    [audioInputParams setVolume:0.0 atTime:kCMTimeZero];
    [audioInputParams setTrackID:[track trackID]];
    [allAudioParams addObject:audioInputParams];
}
AVMutableAudioMix *audioZeroMix = [AVMutableAudioMix audioMix];
[audioZeroMix setInputParameters:allAudioParams];

[[avPlayer currentItem] setAudioMix:audioZeroMix];
于 2011-06-04T04:00:06.010 に答える