2014-10-05 105 views
0

有沒有方法使用垂直滑塊更改avplayer上的音量,MPVolumeView只是水平的,而且似乎沒有辦法做到這一點。
我可以使用自定義滑塊:在iOS7上我們有與之交互的音量屬性,在iOS6上似乎唯一的解決方案是AudioMix Trick,但最後一個似乎只適用於「文件」軌道而不是流內容(我需要使用它們)。
有人想出了一個想法?AVPlayer更改音量,垂直滑塊

+0

也許嘗試在MPVolumeView上做一個轉換? – amergin 2014-10-06 15:48:05

+0

使用自動佈局,你將有一個主要問題 – Andrea 2014-10-07 07:05:00

+0

是的,不知道它如何工作,因爲我沒有嘗試過。如果我接受測試,我會回覆你。也許坐在MPVolumeView裏面有一個非旋轉的視圖,其中包含所有的自動佈局。無論哪種方式,這將是一個爛攤子。 – amergin 2014-10-07 07:18:03

回答

2

這爲我工作(iPhone 5的iOS 8.3):

MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame:CGRectMake(225, 270, 160, 30)]; 

CGAffineTransform sliderRotation = CGAffineTransformIdentity; 
sliderRotation = CGAffineTransformRotate(sliderRotation,-(M_PI/2)); 
volumeView.transform = sliderRotation; 

[self.view addSubview:volumeView]; 
+0

我在故事板中有一個佔位符視圖,我添加了MPVolumeView作爲子視圖。我需要確保MPVolumeView的中心是該視圖的中心,以使旋轉正確。 – 2015-12-08 03:55:17

1

這個工作對我的IOS 8.4的子類MPVolumeView和放置的UIView與我想要的位置的XIB文件。

第一小類MPVolumeView

@implementation UIPlayerVolume 

- (void)awakeFromNib { 
    [super awakeFromNib]; 

    CGRect originalFrame = self.frame; 

    self.translatesAutoresizingMaskIntoConstraints = YES; 

    CGAffineTransform sliderRotation = CGAffineTransformIdentity; 
    sliderRotation = CGAffineTransformRotate(sliderRotation,-(M_PI/2)); 
    self.transform = sliderRotation; 

    self.frame = originalFrame; 
} 

@end