2 yue1liang1chuan yue1liang1chuan 于 2013.04.07 13:33 提问

AVPlayer控制音量播放

开发一个自定义播放,用到AVPlayer类,现在想加入UISlider控制音量。

实现代码:

NSMutableArray *allAudioParams = [NSMutableArray array];
AVMutableAudioMixInputParameters *audioInputParams =[AVMutableAudioMixInputParameters audioMixInputParameters];
[audioInputParams setVolume:volumeSlider.value atTime:kCMTimeZero];
[allAudioParams addObject:audioInputParams];
AVMutableAudioMix *audioZeroMix = [AVMutableAudioMix audioMix];
[audioZeroMix setInputParameters:allAudioParams];
[self.playerItem setAudioMix:audioZeroMix];

步骤地为什么不好使。请大家帮忙,谢谢。

2个回答

MrsSeven7
MrsSeven7   2013.04.07 14:01
已采纳
NSArray *audioTracks = [asset tracksWithMediaType:AVMediaTypeAudio];

NSMutableArray *allAudioParams = [NSMutableArray array];
for (AVAssetTrack *track in audioTracks) {
  AVMutableAudioMixInputParameters *audioInputParams = 
    [AVMutableAudioMixInputParameters audioMixInputParameters];
  [audioInputParams setVolume:volume atTime:kCMTimeZero];
  [audioInputParams setTrackID:[track trackID]];
  [allAudioParams addObject:audioInputParams];
}

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

[playerItem setAudioMix:audioMix];

用这段代码控制音量

loveiflower
loveiflower   2013.04.07 14:10
-(void)doVolumeFade
{  
    if (self.player.volume > 0.1) {
        self.player.volume = self.player.volume - 0.1;
        [self performSelector:@selector(doVolumeFade) withObject:nil afterDelay:0.1];       
     } else {
        // Stop and get the sound ready for playing again
        [self.player stop];
        self.player.currentTime = 0;
        [self.player prepareToPlay];
        self.player.volume = 1.0;
    }
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
iOS中AVPlayer的在线播放和播放进度条,音量条以及AVPlayer的后台播放
//以下代码用storyboard托控件实现 #import "OnlineViewController.h" //导入头文件 #import @interface OnlineViewController () //播放器 @property (nonatomic, strong)AVPlayer *avPlayer;
AVPlayer自定制视频播放器(2)——耳机线控、中断以及AVAudioSession的使用
在上一篇博客中说到了使用AVPlayer进行自定义视频播放器。这里讲继续讲述视频播放器的自定制。下面是上一篇博客的链接,本篇博客将承接上一篇博客进行讲解,如果有AVPlayer自定制视频播放器基础的同学,可以不必看上一篇博客,直接进入这篇。 AVPlayer自定义视频播放器 相信你已经会使用AVPlayer进行视频播放器的自定制,并且,能够进行基本的开始、暂停、静音、快放等一些
AVPlayer音量
playerItem = [[AVPlayerItem alloc] initWithAsset:[AVAsset assetWithURL:[NSURL URLWithString:url]]]; - (void)volumeSet:(UISlider *)slider {     NSArray *audioTracks = [_playerItem.asset tra
iOS流媒体开发之二:滑动手势控制音量、亮度和进度
尊重知识,转发请注明出处:iOS流媒体开发之二:滑动手势控制音量、亮度和进度 概要 看到文章的标题,小伙伴们大概会有两种反应:①这和流媒体技术没关系吧②网上有很多这个功能的实现方案。 1、对于第一种反应,从开发者的角度看这个确实不属于流媒体技术范畴,但是对于用户来讲这个已经是看视频时理所当然应该有的功能,密不可分,鉴于用户就是上帝,所以这个绝对属于流媒体范畴. 2、第二种反应确实是事实
iOS 使用AVPlayer自定义的播放器,当手机在静音模式播放器也静音的解决方法!
在appdelegate中添加一下代码,可解决手机在静音模式播放器也静音的问题! AVAudioSession *avSession = [AVAudioSession sharedInstance];     [avSession setCategory:AVAudioSessionCategoryPlayback error:nil];     [avSession
iOS视频播放界面显示音量调节控件
在工作中需要在视频播放界面显示控制音量的滑块,所以学习了一下,关于音量控制(要使用真机)          AVPlayer:提供音量控制api,但是只支持IOS7          AVAudioPlayer:提供音量控制api,目前是都支持          MPMusicPlayerController:提供音量控制api,但是支持IOS7以下
细数AVPlayer的那些坑
http://ivanyuan.farbox.com/post/shi-pin-bo-fang-de-na-xie-keng 最近一直在做视频动态挂件以及一个视频播放的功能,在开始做之前,先学习了苹果的官方文档RosyWriter,熟悉了短视频拍摄、滤镜处理的一些小技巧,同学也学习了下GPUImage,最后在踩了很多坑以后才实现了视频挂件的处理。 这次主要是总结和记录下视频
【iOS】音频播放之AVAudioPlayer,AVPlayer,AVQueuePlayer
前言在婚语APP中,分别使用了AVAudioPlayer,AVPlayer,AVQueuePlayer来实现音频播放功能,下面以婚语的实际需求分别介绍它们的使用方法和区别。需求1 档期备忘:用户新建档期记录时,可以进行录音备忘,录音完成后可直接播放,保存档期时将录音文件上传到服务器。分析1:因为录音备忘一般时长较短文件较小,所以录音完将录音文件上传到服务器的同时,本地也保留录音文件,用户查看档期并点
AVPlayer 真机测试没有声音
问题:AVPlayer实现的音乐播放器,模拟器和给真机插上耳机的情况下有声音,但是拔了耳机就没有声音 解决方案 :加上下面这几行代码就可以//可播放可录音,更可以后台播放,还可以在其他程序播放的情况下暂停播放 AVAudioSession *session = [AVAudioSession sharedInstance]; [session setCategory:AVAudio
播放器声音太小 加入以下几句话
AVAudioSession *session = [AVAudioSession sharedInstance]; [session setCategory:AVAudioSessionCategoryPlayback error:NULL]; [session setActive:YES error:NULL];