像 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 上的导航视图控制器上使用后退手势时,表格视图单元格上没有淡出和淡入动画

在 iOS 7 中操作手势识别器

像 iPod 应用一样使用 UITableView 气泡/标注

iOS捏手势控制堆栈视图间距

iOS 应用程序在点击手势事件时崩溃

WKInterfaceTable:像股票邮件应用一样滑动编辑