【问题标题】:Why isn't my AVPlayer volume fading out?为什么我的 AVPlayer 音量没有消失?
【发布时间】:2012-07-30 03:42:37
【问题描述】:

我正在尝试使用 AVMutableAudioMixInputParameters 的 setVolumeRampFromStartVolume 方法将 AVPlayer 的音量淡化为 0。这是我的代码:

-(void)fadeOutVolume
{
    // AVPlayerObject is a property which points to an AVPlayer
    AVPlayerItem *myAVPlayerItem = AVPlayerObject.currentItem;
    AVAsset *myAVAsset = myAVPlayerItem.asset;
    NSArray *audioTracks = [myAVAsset tracksWithMediaType:AVMediaTypeAudio];

    NSMutableArray *allAudioParams = [NSMutableArray array];
    for (AVAssetTrack *track in audioTracks) {

        AVMutableAudioMixInputParameters *audioInputParams = [AVMutableAudioMixInputParameters audioMixInputParametersWithTrack:track];
        [audioInputParams setVolumeRampFromStartVolume:1.0 toEndVolume:0 timeRange:CMTimeRangeMake(CMTimeMake(0, 1), CMTimeMake(5, 1))];
        [allAudioParams addObject:audioInputParams];

    }

    AVMutableAudioMix *audioMix = [AVMutableAudioMix audioMix];
    [audioMix setInputParameters:allAudioParams];

}

谁能看出这段代码有什么问题?它没有正确淡出音量。

【问题讨论】:

    标签: objective-c ios audio video avplayer


    【解决方案1】:

    我错过了这条关键线:

    [myAVPlayerItem setAudioMix:audioMix];
    

    这是一个相对简单的解决方法,我很失望通常超级快速和观察敏锐的 StackOverflow 社区没有发现问题。

    【讨论】:

      【解决方案2】:
          [audioInputParams setVolumeRampFromStartVolume:1.0 toEndVolume:0 timeRange:CMTimeRangeMake(CMTimeMake(0, 1), CMTimeMake(5, 1))];
      

      在此您将开始设置为 1.0,结束设置为 0,因此只有音频逐渐淡出

      【讨论】:

      • “只有声音”是什么意思?
      猜你喜欢
      • 1970-01-01
      • 2013-12-31
      • 2016-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多