提问者:小点点

如何在iOS Swift或Objective C中检测iPhone卷访问[关闭]


我已经创建了一个Unity基本游戏,并且为Android构建了一个版本,运行良好,但是当我尝试为Xcode构建时,一些问题就来了。 基本上,我是在iOS系统中尝试从音量向上和音量向下键接收一些任务。

我会展示安卓代码,帮我用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;
    }

共1个答案

匿名用户

Swift更新

let vol = AVAudioSession.sharedInstance().outputVolume

音频会话可以提供输出音量(iOS>=6.0)。 在目标C中:浮点数vol=[[AVAudioSession sharedInstance]outputVolume]; NSLog(@“输出音量:%1.2f dB”,20.f*log10f(VOL+FLT_MIN));