使用 MPMusicPlayerController 控制音量

Posted

技术标签:

【中文标题】使用 MPMusicPlayerController 控制音量【英文标题】:Volume control with MPMusicPlayerController 【发布时间】:2015-08-17 09:07:50 【问题描述】:

我正在使用 MPMusicPlayerController 通过我的滑块更改系统音量:

-(void)viewDidLoad
     MPMusicPlayerController musicPlayer = [MPMusicPlayerController applicationMusicPlayer];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(volumeChanged:) name:@"AVSystemController_SystemVolumeDidChangeNotification" object:nil];

然后我实现了以下方法来改变声音:

-(IBAction)sliderValueChanged:(UISlider *)sender
    [musicPlayer setVolume:  sender.value];

- (void)volumeChanged:(NSNotification *)notification

    float volume =[[[notification userInfo]   objectForKey:@"AVSystemController_AudioVolumeNotificationParameter"]floatValue];
    [self.volumSeekbar setValue:musicPlayer.volume];

当我用搜索器改变音量时,它显示系统音量控制器,有什么方法可以防止显示?

编辑:MPVolume 默认图像质量好但有点大!

【问题讨论】:

查看 MPVolumeView,这是系统提供的更改设备音量的方法。 developer.apple.com/library/ios/documentation/MediaPlayer/… @amergin 谢谢,我正在使用 MPVolume,但我无法为其拇指图像设置好的图像。您知道要获得良好视野的尺寸应该是多少吗? 【参考方案1】:

这些是我使用的图片 - 我只包含了 1x 尺寸 - 拇指是 54 x 30

[self.mpVolumeView setMinimumVolumeSliderImage:[UIImage imageNamed:@"master_volume_bar"] forState:UIControlStateNormal];
[self.mpVolumeView setMaximumVolumeSliderImage:[UIImage imageNamed:@"grey_volume_bar"] forState:UIControlStateNormal];
[self.mpVolumeView setVolumeThumbImage:[UIImage imageNamed:@"volume_thumb"] forState:UIControlStateNormal];

【讨论】:

感谢您的回复,但我想要一个类似 iOS 默认音量图像(圆形)的图像,我会在我的问题中附上一张图像,以便您查看我的输出质量 如果您想使用默认值,请保持原样。如果您想要自定义图像,请使用图形编辑器创建三个副本,即原始图像以及 2x 和 3x 副本。 如果我使用默认图像,质量会好的,但它太大了! 所以使用图形应用程序创建一个小的白色光盘,然后将其保存为 volume_thumb.png (20x20px)、volume_thumb@2x.png (40x40px) 和 volume_thumb@3x.png (60x60px) - 或其他你想要的尺寸。 我已经尝试了所有这些尺寸,但是当我设置图像时,它会像我附加的那样,它的轮廓上有模糊效果

以上是关于使用 MPMusicPlayerController 控制音量的主要内容,如果未能解决你的问题,请参考以下文章

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇

Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”

使用“使用严格”作为“使用强”的备份

Kettle java脚本组件的使用说明(简单使用升级使用)