Có cách nào tôi có thể đạt được mức âm lượng hệ thống hiện tại trên iPhone không?có được mức âm lượng hệ thống hiện tại trên iPhone
Tôi nghĩ có thể có cách để tạo MPVolumeView
và nhận giá trị từ đó.
Có cách nào tôi có thể đạt được mức âm lượng hệ thống hiện tại trên iPhone không?có được mức âm lượng hệ thống hiện tại trên iPhone
Tôi nghĩ có thể có cách để tạo MPVolumeView
và nhận giá trị từ đó.
musicPlayer = [[MPMusicPlayerController iPodMusicPlayer];
currentVolume = musicPlayer.volume;
này hiện bị phản đối như của iOS8 .0 vì vậy hãy thử những điều sau
#import <AVFoundation/AVAudioSession.h>
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
CGFloat volume = audioSession.outputVolume;
Celestial.framework có lớp AVSystemController
cho phép bạn lấy và đặt âm lượng hiện tại. Đáng tiếc là nó là một lớp riêng để Apple sẽ không chấp nhận nó trong App Store đệ trình
Nếu hữu ích, bạn có thể lạm dụng công MPVolumeView
lớp một chút: http://www.stormyprods.com/blogger/2008/09/proper-usage-of-mpvolumeview-class.html
Làm thế nào mà tôi nhớ đó? Cảm ơn! –
Hi, rpetrich, là nó có thể thay đổi khối lượng trên toàn hệ thống thông qua MPVolumeView ... – iXcoder
Robin: có, nó có thể, nhưng không mong đợi để có ứng dụng của bạn trong cửa hàng nếu bạn làm (và có nhiều phương pháp đơn giản hơn cung cấp dễ dàng truy cập trong Celestial) – rpetrich
Thêm MediaPlayer Khung vào dự án của bạn
.h (Tiêu đề tập tin)
{
MPMusicPlayerController *musicPlayer;
}
.m (file thực thi)
- (void)viewDidLoad
{
//get device volume level
musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
float deviceVolumeLevel = musicPlayer.volume;
NSLog(@"Current device volume level : %f",deviceVolumeLevel);
}
nhanh chóng 3,0
..
import AVKit
..
// get current level:
let audioSession = AVAudioSession.sharedInstance()
let volume : Float = audioSession.outputVolume
Đây là câu trả lời thực sự! –
Điều này trả về mức âm lượng nhạc chứ không phải mức âm lượng của hệ thống. –
Chúng là một và giống nhau. – amergin