如何在 iOS Swift 或 Objective C 中检测 iPhone 卷访问
How to detect an iPhone Volume Access in iOS Swift or Objective C
我已经创建了一个 Unity 基本游戏并为 Android 进行了构建,并且运行良好,但是一旦我尝试为 Xcode 进行构建,就会出现一些问题。
基本上我试图通过 iOS.
中的提高音量和降低音量键来完成一些任务
我会展示Android代码,帮我iOS代码。
public int GetVolume()
{
if (Application.platform == RuntimePlatform.Android)
{
AndroidJavaClass up = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject context = up.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaClass audioManagerClass = new AndroidJavaClass("android.media.AudioManager");
AndroidJavaClass contextClass = new AndroidJavaClass("android.content.Context");
int AudioManager_STREAM_MUSIC = audioManagerClass.GetStatic<int>("STREAM_MUSIC");
string Context_AUDIO_SERVICE = contextClass.GetStatic<string>("AUDIO_SERVICE");
AndroidJavaObject audioService = context.Call<AndroidJavaObject>("getSystemService", Context_AUDIO_SERVICE);
return audioService.Call<int>("getStreamVolume", AudioManager_STREAM_MUSIC);
}
return 0;
}
更新 Swift
let vol = AVAudioSession.sharedInstance().outputVolume
音频会话可以提供输出音量(iOS >= 6.0)。
在 objective C 中:
float vol = [[AVAudioSession sharedInstance] outputVolume];
NSLog(@"输出音量: %1.2f dB", 20.f*log10f(vol+FLT_MIN));
我已经创建了一个 Unity 基本游戏并为 Android 进行了构建,并且运行良好,但是一旦我尝试为 Xcode 进行构建,就会出现一些问题。 基本上我试图通过 iOS.
中的提高音量和降低音量键来完成一些任务我会展示Android代码,帮我iOS代码。
public int GetVolume()
{
if (Application.platform == RuntimePlatform.Android)
{
AndroidJavaClass up = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject context = up.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaClass audioManagerClass = new AndroidJavaClass("android.media.AudioManager");
AndroidJavaClass contextClass = new AndroidJavaClass("android.content.Context");
int AudioManager_STREAM_MUSIC = audioManagerClass.GetStatic<int>("STREAM_MUSIC");
string Context_AUDIO_SERVICE = contextClass.GetStatic<string>("AUDIO_SERVICE");
AndroidJavaObject audioService = context.Call<AndroidJavaObject>("getSystemService", Context_AUDIO_SERVICE);
return audioService.Call<int>("getStreamVolume", AudioManager_STREAM_MUSIC);
}
return 0;
}
更新 Swift
let vol = AVAudioSession.sharedInstance().outputVolume
音频会话可以提供输出音量(iOS >= 6.0)。 在 objective C 中:
float vol = [[AVAudioSession sharedInstance] outputVolume]; NSLog(@"输出音量: %1.2f dB", 20.f*log10f(vol+FLT_MIN));