Właściwość ActionScript's Camera.muted
jest tym, czego potrzebujesz. Źródło, z którym się łączysz, tworzy prywatny obiekt o nazwie o nazwie camera
. Możesz go upublicznić lub dodać nową metodę, aby sprawdzić jego właściwość muted
;
final public function has_access() : Boolean {
return !camera.muted;
}
Zwykle chcesz ukryć/wyłączyć przycisk aż wyciszony staje się fałszywa (jest to bardzo mało prawdopodobne, że stanie się znowu prawda, użytkownik będzie musiał ręcznie otworzyć okno ustawień i uniemożliwienia dostępu).
Możesz także użyć detektora, aby uniknąć ciągłego sprawdzania tej wartości;
final public function add_access_listener(myFunc : Function) : void {
camera.addEventListener("status", myFunc); // StatusEvent.STATUS
}
który byłby stosowany następująco:
myWebcam.add_access_listener(myAccessFunc);
function myAccessFunc(ev : StatusEvent) : void {
if(ev.code == "Camera.Unmuted") {
// video became available, enable button
} else {
// video became unavailable, disable button
}
}
// remember that the user could have granted persistent permission
// (i.e. the status will be unmuted without actually changing)
if(myWebcam.has_access()) {
// video is already available, enable button
} else {
// video is not yet available, disable button
}
Aby uniknąć ewentualnych wycieków pamięci, należy również również zadzwonić removeEventListener
jeśli kiedykolwiek wyjąć aparat, ale biblioteki nie wydają się być zaprojektowany tak i tak (i nie usuwa własnych słuchaczy).