像 VLC 应用一样通过手势(iOS 7+)控制音量
Posted
技术标签:
【中文标题】像 VLC 应用一样通过手势(iOS 7+)控制音量【英文标题】:Volume control with gestures (iOS 7+) like VLC app had 【发布时间】:2015-01-19 21:19:02 【问题描述】:是否可以通过手势(例如 UIPanGestureRecognizer)实现 ios 设备的音量控制? VLC 应用程序具有此功能。 我已经实现了昏暗控制,但我仍然缺少音量控制。感谢您的建议。
【问题讨论】:
我知道 Apple 只能使用 MPVolumeView,但我不想在那里使用任何视图。仅限手势。 唯一的方法(使用非私有 API)是使用MPVolumeView
,除非您通过 AVAudioPlayer
实例播放媒体文件,在这种情况下需要设置 volume
属性播放器音量(相对于系统一)。
@romansladecek MPVolumeView
只能由 Apple 使用是什么意思?是公开课。任何人都可以使用它。我愿意。
对不起。我的意思是只有 Apple 为开发人员提供的这种控制。顺便提一句。我使用 MPMoviePlayerController 播放媒体
它是如何在他们的应用程序中制作 VLC 的?
【参考方案1】:
这是在 VLC Player 中完成的方式
- (void)panRecognized:(UIPanGestureRecognizer*)panRecognizer
CGFloat panDirectionX = [panRecognizer velocityInView:self.view].x;
CGFloat panDirectionY = [panRecognizer velocityInView:self.view].y;
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController applicationMusicPlayer];
if (panDirectionY > 0)
musicPlayer.volume -= 0.01;
else
musicPlayer.volume += 0.01;
【讨论】:
以上是关于像 VLC 应用一样通过手势(iOS 7+)控制音量的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 7 上的导航视图控制器上使用后退手势时,表格视图单元格上没有淡出和淡入动画