我最初动态地将MPVolumeView添加到页面中......
#import "MediaPlayer/MPVolumeView.h"
.
.
-(IBAction) handleVolumeButtonClicked:(id) sender {
if (volumeView == nil) {
volumeView = [[MPVolumeView alloc] initWithFrame:CGRectMake(25, 378, 270, 30)];
[self.view addSubview:volumeView];
[volumeView release];
} else {
[volumeView removeFromSuperview];
volumeView = nil;
}
}
Run Code Online (Sandbox Code Playgroud)
但出于某种原因,我开始收到动态添加卷组件时应用程序崩溃的报告.
为了解决这个问题,我决定尝试通过XCode设计器将组件添加到视图中,但后来我意识到我不知道如何做到这一点!
我先将"对象"从模板拖到对象调色板中,但后来发现我无法将其添加到视图中.所以我废弃了这个想法,然后将'View'对象直接拖到.xib视图上.
添加组件后,我尝试将"自定义类"更改为"MPVolumeView",但视图只渲染了一个空矩形.在模拟器中运行代码无法呈现任何内容.
有没有人知道我缺少哪些步骤将类添加到调色板中不存在的视图中?
我正在尝试制作一个滑块来控制设备音量.以前我用MPVolumeView完成了这个,但是从iOS 5开始我在构建时遇到以下错误:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_MPVolumeView", referenced from:
objc-class-ref in PlayerViewController.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我是什么问题或者是否有其他方法来控制设备音量.
提前致谢!
如何设置MPVolumeView的色调?
我看到了方法:
setMinimumTrackTintColor:
Run Code Online (Sandbox Code Playgroud)
和财产
minimumTrackTintColor
Run Code Online (Sandbox Code Playgroud)
但是使用其中任何一个抛出异常.
我被告知我需要打电话
setMinimumTintColor
Run Code Online (Sandbox Code Playgroud)
或设置属性
minimumTrackTintColor
Run Code Online (Sandbox Code Playgroud)
在底层的UISlider上,但我不知道该怎么做.
谢谢!
我做了很多来解决它,比如添加 MPVolumeView,有人说如果你在当前添加 MPVolumeView 的实例,系统音量 HUD 会隐藏,但那不起作用
我加了观察器来观察音量的变化?并拍照
但现在我迷失在如何隐藏音量 HUD
我曾尝试添加 MPVolumeView 实例的解决方案,但不起作用,请给我另一种解决方法
任何建议,将不胜感激。
我试图设置MPVolumeView的最大和最小图像,但我无法让它工作
这是代码
VolumeView.setVolumeThumbImage(UIImage(named: "VolumeSlider"), forState: UIControlState.Normal)
VolumeView.setMinimumVolumeSliderImage(UIImage(named: "VolumeUp"), forState: UIControlState.Normal)
VolumeView.setMaximumVolumeSliderImage(UIImage(named: "VolumeDown"), forState: UIControlState.Normal)
Run Code Online (Sandbox Code Playgroud)
这是结果
以前有没有人遇到这个问题,任何帮助都会很棒吗?
如何更改MPVolumeView中滑块的tintcolor?而不是蓝色我想显示不同的颜色.
尝试使用以下代码在app中以编程方式添加MPVolumeView
MPVolumeView *_volumeView = [ [MPVolumeView alloc] init];
[_volumeView setShowsVolumeSlider:YES];
[_volumeView setShowsRouteButton:YES];
[_volumeView sizeToFit];
[view addSubview:_volumeView];
Run Code Online (Sandbox Code Playgroud)
但是获得了如此多的语义问题,即使用未声明的标识符MPVolumeView和无效操作数到二进制表达式
@property (nonatomic, strong) MPVolumeView *volumeView;
Run Code Online (Sandbox Code Playgroud)
获取上述语句的红色消息,未知类型MPVolumeView以及带有retain或strong的属性必须是对象类型.
@synthesize volumeView = _volumeView;
Run Code Online (Sandbox Code Playgroud)
这是在app中以编程方式添加MPVolumeView的正确方法.
感谢帮助.
iOS 9.1 - iPhone 6S
即使有可用的无线路由,当应用程序启动时,MPVolumeView的路由按钮(airplay)也不会显示.
我已经尝试查询我的MPVolumeView来创建它以检查无线路由,然后我得到0.我只能通过禁用并启用WiFi来触发通知来获得1(并显示路由按钮).
我的应用程序中的MPVolumeView用于控制从UIWebView播放的视频量.此外,每当我激活无线路由进行流式传输时,MPVolumeView滑块都会消失 - 有没有办法在使用UIWebView播放媒体时阻止此行为?
下面是我创建MPVolumeView的代码:
-(void) createAndDisplayMPVolumeView{
// Create a simple holding UIView and give it a frame
volumeHolder = [[UIView alloc] initWithFrame: volumeSlider.frame];
volumeHolder.autoresizingMask = UIViewAutoresizingFlexibleHeight;
volumeSlider.hidden = YES;
// set the UIView backgroundColor to clear.
[volumeHolder setBackgroundColor: [UIColor clearColor]];
// add the holding view as a subView of the main view
[nowPlayingMainView addSubview: volumeHolder];
// Create an instance of MPVolumeView and give it a frame
myVolumeView = [[CustomVolumeView alloc] initWithFrame: volumeHolder.bounds];
myVolumeView.tintColor …Run Code Online (Sandbox Code Playgroud) mpvolumeview ×8
ios ×5
objective-c ×4
airplay ×2
iphone ×2
uislider ×2
volume ×2
cocoa ×1
cocoa-touch ×1
ios5 ×1
ios8 ×1
media-player ×1
swift ×1
xcode ×1