Unity 調用 Android Native 方法(一) 獲得Android系統音量

來源:互聯網
上載者:User

標籤:manager   .text   ems   unity   pre   date()   3d text   stream   建立   

學習雷鋒,好榜樣,接下來的這一系類教程裡,將通過unity來實現Android端的一些常用功能,

不需要在 Asset/Plugins/Android 目錄下引用jar包或者aar包,這是重點。

 1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4  5 public class Volume : MonoBehaviour { 6  7  8     private const string currentVolume = "getStreamVolume";//當前音量 9     private const string maxVolume = "getStreamMaxVolume";//最大音量10 11     private const int STREAM_VOICE_CALL = 0;12     private const int STREAM_SYSTEM = 1;13     private const int STREAM_RING = 2;14     private const int STREAM_MUSIC = 3;15     private const int STREAM_ALARM = 4;16     private const int STREAM_NOTIFICATION = 5;17      const int STREAM_DTMF = 8;18 19     //建立幾個 "3D Text" 用於接收音量值20     public  TextMesh STREAM_VOICE_CALL_Text;21     public  TextMesh STREAM_SYSTEM_Text;22     public  TextMesh STREAM_RING_Text;23     public  TextMesh STREAM_MUSIC_Text;24     public  TextMesh STREAM_ALARM_Text;25     public  TextMesh STREAM_NOTIFICATION_Text;26     public  TextMesh STREAM_DTMF_Text;27 28 29     private static AndroidJavaObject audioManager;30 31 32     void Awake()33     {34         AndroidJavaClass UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");35         AndroidJavaObject currentActivity = UnityPlayer.GetStatic<AndroidJavaObject>("currentActivity");36         audioManager = currentActivity.Call<AndroidJavaObject>("getSystemService", new AndroidJavaObject("java.lang.String", "audio"));37     }38     void Update()39     {40 //        //current volume value41 //        STREAM_VOICE_CALL_Text.text = audioManager.Call<int> (currentVolume, STREAM_VOICE_CALL).ToString ();42 //        STREAM_SYSTEM_Text.text = audioManager.Call<int> (currentVolume, STREAM_SYSTEM).ToString ();43 //        STREAM_RING_Text.text = audioManager.Call<int> (currentVolume, STREAM_RING).ToString ();44 //        STREAM_MUSIC_Text.text = audioManager.Call<int> (currentVolume, STREAM_MUSIC).ToString ();45 //        STREAM_ALARM_Text.text = audioManager.Call<int> (currentVolume, STREAM_ALARM).ToString ();46 //        STREAM_NOTIFICATION_Text.text = audioManager.Call<int> (currentVolume, STREAM_NOTIFICATION).ToString ();47 //        STREAM_DTMF_Text.text = audioManager.Call<int> (currentVolume, STREAM_DTMF).ToString ();48 49         //Max volume value50         STREAM_VOICE_CALL_Text.text = audioManager.Call<int> (maxVolume, STREAM_VOICE_CALL).ToString ();51         STREAM_SYSTEM_Text.text = audioManager.Call<int> (maxVolume, STREAM_SYSTEM).ToString ();52         STREAM_RING_Text.text = audioManager.Call<int> (maxVolume, STREAM_RING).ToString ();53         STREAM_MUSIC_Text.text = audioManager.Call<int> (maxVolume, STREAM_MUSIC).ToString ();54         STREAM_ALARM_Text.text = audioManager.Call<int> (maxVolume, STREAM_ALARM).ToString ();55         STREAM_NOTIFICATION_Text.text = audioManager.Call<int> (maxVolume, STREAM_NOTIFICATION).ToString ();56         STREAM_DTMF_Text.text = audioManager.Call<int> (maxVolume, STREAM_DTMF).ToString ();57 58     }59 }

 

Unity 調用 Android Native 方法(一) 獲得Android系統音量

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.