2016-05-05 4 views
3

ich den folgenden Code haben:Unity3D: Ist es möglich, die Lautstärke von Android- und iPhone-Geräten zu überprüfen?

void Update(){ 
    GetComponent<UnityEngine.UI.Text>().text = AudioListener.volume.ToString(); 
} 

Nach meinem Android-Gerät drücken, heißt es immer „1“, wenn ich die physikalischen Lautstärketasten des Android drücken. Es ist also nicht festzustellen, was die Lautstärke des Telefons tatsächlich ist. Ist es möglich, die aktuelle Lautstärke des Telefons zu überprüfen?

Ich arbeite mit dem Google Cardboard SDK. Vielleicht ist das wichtig, da es mehrere Kameras gleichzeitig verwendet. Vielleicht ist es etwas mit Berechtigungen verbunden?

+0

(Hinweis: AudioListener.volume ist völlig unabhängig. Es ist nur die Einstellung der Lautstärke Unity spielt dieses Element bei, genau wie das Einstellen der Lautstärke AudioSource.) – Fattie

Antwort

3

Nur für das Protokoll,

Es ist eine große Frage, können Sie die Telefonlautstärkeeinstellung erhalten, von Unity?

Zuerst: Beachten Sie, dass AudioListener.volume völlig unabhängig ist. Das ist einfach die Lautstärke, da Unity daran denkt, Musik oder Soundeffekte abzuspielen.

Zweitens: Ich habe Angst zu sagen, ich bin ziemlich sicher, dass es gibt keine Möglichkeit, die Telefonlautstärkeeinstellung, von Unity zu bekommen, als 2016.

Wenn jemand weiß es besser - antwort!

Schöne Frage.


UPDATE (von Kommentaren)

Hinweis. Es ist möglicherweise möglich, Systemvolumen zu steuern. Aber OP müsste dafür native Plugins schreiben.

Betrachten Sie diese QA:

Hinweis jedoch, dass die Lautstärke in iOS zu ändern (nichts mit Unity zu tun) a knifflige Frage in Bezug auf , ob Apple es im App Store genehmigen. Gleiches gilt für Android. Diese Probleme haben nichts mit Unity zu tun und erfordern Kenntnisse über den App Store, Samsung Hardware usw. in welchem ​​Jahr auch immer Sie dies lesen. UND beachten Sie, dass in vielen QA über "Lautstärke ändern" auf Handys gibt es wieder einfach Verwirrung über die Änderung der Lautstärke von etwas in einer App im Vergleich zu "der tatsächlichen Telefon Lautstärkeregler".

+0

Das stimmt. Ich denke, dass das OP den Unterschied zwischen Lautstärke von Audio/Audio in Unity vs System Sound nicht kennt. Jede Lautstärkeregelungs-API in Unity ist nur für das Audio, das aus der Einheit kommt. Es ist möglich, das Systemvolumen zu steuern, aber er muss dafür ein Plugin schreiben. Für Android http: // Stapelüberlauf.com/questions/4593552/how-do-you-get-set-Media-Lautstärke-nicht-Klingelton-Volume-in-Android – Programmer

+0

richtig. Wissen Sie, als Kuriosum frage ich mich, ob das noch auf Android funktioniert? (Beitrag ist alt). Sie haben vielleicht darauf geklopft. Für iOS sollte ich es aber nicht wissen. Ich denke, sie haben es auf iOS heruntergespielt. – Fattie

+1

Android ist fast gleich. Mir ist aufgefallen, dass die meisten Dinge, die sich in Android ändern, das Grafik/ui-Zeug sind. Hardware-Sachen bleiben immer noch gleich. Ich habe es gerade getestet und es funktioniert immer noch und ist nicht einmal mehr veraltet. iOS ist eine andere Geschichte. Alles ändert sich jeden Tag. Der neueste Arbeitscode ist hier http://stackoverflow.com/questions/33168497/ios-9-how-to-change-volume-programmatical-without-showing-system-sound-bar-po Nicht getestet, aber es sollte funktionieren. – Programmer

Verwandte Themen