Read-only na audio value para makilala ang mga tunog sa app o laro.
Syntax
Audio(name)
Mga parameter ng constructor
Pangalan
Paglalarawan
nameString
Kailangang ilagay ang pangalan ng sample na ginawa sa Template Manager ng kasalukuyang macro; hindi ito maaaring walang laman o isang file path. Agad nilo-load ang sample, kasama ang mga naibalik o nasa package na protektado ng encryption; error ang nawawala o sirang sample. Sine-save ng Backup/Store ang napiling source at mga sample kasama ng macro: hanggang 32 WAV sample na PCM16 mono 48 kHz, hanggang 10 segundo bawat isa, at hanggang 4 MiB ang kabuuang WAV data.
Kailangan · Ayon sa posisyon o pangalan
Walang default
Ibinabalik na halaga
Audio
Pagkilos / epekto
Read-only na audio value para makilala ang mga tunog sa app o laro. Gamitin ang Audio(name) para mag-load ng naka-save na sample, o Audio.recent(duration_ms) para kopyahin ang kakakuha pa lang na audio. Sa device ginagawa ang capture at pagtutugma; hindi ina-upload ang tuloy-tuloy na listening buffer at hindi naa-access ng script ang raw audio (PCM).
Pagpapatakbo
Naghihintay matapos: May kondisyon
Kaligtasan ng sabayang paggamit: Hindi garantisado
Sabayang pagpapatakbo: May kondisyon
Ang oras ng pagproseso at paghihintay ay depende sa operasyon. Panatilihin ang nababagong mga value sa flow na may-ari nito; walang pangkalahatang garantiya sa kaligtasan ng pagbabahagi ng mga object sa iba’t ibang flow.
Halimbawa
# Kilalanin ang lokal na audio sample pagkatapos magsimulang makinig
sample = Audio("alert")
Audio.start()
wait(2000)
clip = Audio.recent(duration_ms=2000)
result = clip.match(sample, threshold=0.85)
if result.matched:
print(result.score, result.start_ms, result.end_ms)
Audio.stop()
Mga error / limitasyon
Walang karagdagang limitasyong nakadokumento; sundin ang mga parameter at pagkilos sa itaas.
Mga kaugnay na API
Wala
Mga field
Pangalan
Paglalarawan
nameString | None
Pangalan ng naka-save na sample, o None para sa pinakabagong snapshot.
duration_msNumber
Haba ng snapshot sa millisecond.
start_msNumber
Oras ng simula sa millisecond; zero para sa sample na may pangalan, at mula sa simula ng session para sa pinakabagong snapshot.
end_msNumber
Oras ng pagtatapos na hindi kasama sa saklaw, sa millisecond sa parehong timeline ng start_ms.
Halimbawa ng constructor
# I-load ang sample na naka-save sa makrong ito
audio = Audio("alert")
Mga method
5 method
Audio.start
Static Method
Simulang makinig sa audio ng napiling app, hindi sa mikropono.
Syntax
Audio.start()
Mga parameter
Wala
Ibinabalik na halaga
None
Pagkilos / epekto
Simulang makinig sa audio ng napiling app, hindi sa mikropono. Kailangan ng Android 10+, pahintulot sa pag-record, pagsang-ayon sa MediaProjection, at source app na nagpapahintulot sa capture. Nananatili ang buffer kapag tinawag muli habang nakikinig. Nagre-reset ang oras ng sesyon kapag nagsimulang muli matapos ang stop; i-reset din ang naka-save na oras ng detection. Nililinis ng Pause ang history, pero mula pa rin sa orihinal na simula ng sesyon ang oras sa Resume at kasama ang tagal ng pag-pause. Error kapag kulang ang pahintulot, configuration, o capture session.
Pagpapatakbo
Naghihintay matapos: May kondisyon
Kaligtasan ng sabayang paggamit: Hindi garantisado
Sabayang pagpapatakbo: May kondisyon
Ang oras ng pagproseso at paghihintay ay depende sa operasyon. Panatilihin ang nababagong mga value sa flow na may-ari nito; walang pangkalahatang garantiya sa kaligtasan ng pagbabahagi ng mga object sa iba’t ibang flow.
Halimbawa
# Simulan ang pagkuha ng audio ng naka-configure na app pagkatapos ng pahintulot at pagsang-ayon
Audio.start()
Mga error / limitasyon
Walang karagdagang limitasyong nakadokumento; sundin ang mga parameter at pagkilos sa itaas.
Ihinto ang audio capture at linisin ang buffer nito.
Syntax
Audio.stop()
Mga parameter
Wala
Ibinabalik na halaga
None
Pagkilos / epekto
Ihinto ang audio capture at linisin ang buffer nito. Magagamit pa rin ang mga audio value na naibalik na; patuloy ang screen capture na ginagamit sa ibang bahagi. Nire-release din ang audio capture kapag natapos ang macro.
Pagpapatakbo
Naghihintay matapos: May kondisyon
Kaligtasan ng sabayang paggamit: Hindi garantisado
Sabayang pagpapatakbo: May kondisyon
Ang oras ng pagproseso at paghihintay ay depende sa operasyon. Panatilihin ang nababagong mga value sa flow na may-ari nito; walang pangkalahatang garantiya sa kaligtasan ng pagbabahagi ng mga object sa iba’t ibang flow.
Halimbawa
# Bitawan ang naka-configure na audio recorder
Audio.stop()
Mga error / limitasyon
Walang karagdagang limitasyong nakadokumento; sundin ang mga parameter at pagkilos sa itaas.
Kopyahin ang pinakabagong audio sa isang hiwalay na snapshot nang hindi naghihintay ng dagdag na data.
Syntax
Audio.recent(duration_ms)
Mga parameter
Pangalan
Paglalarawan
duration_msNumber (1..10000)
Kailangang buong bilang ang tagal, mula 1 hanggang 10000 millisecond.
Kailangan · Ayon sa posisyon o pangalan
Walang default
Ibinabalik na halaga
Audio
Pagkilos / epekto
Kopyahin ang pinakabagong audio sa isang hiwalay na snapshot nang hindi naghihintay ng dagdag na data. Huling 10 segundo lang ang available; hindi na makukuha ang audio na tumugtog bago nagsimulang makinig. Error kapag kulang ang history o hindi available ang recorder. Hindi sapat ang katahimikan para patunayang hinaharang ng source app ang capture.
Pagpapatakbo
Naghihintay matapos: May kondisyon
Kaligtasan ng sabayang paggamit: Hindi garantisado
Sabayang pagpapatakbo: May kondisyon
Ang oras ng pagproseso at paghihintay ay depende sa operasyon. Panatilihin ang nababagong mga value sa flow na may-ari nito; walang pangkalahatang garantiya sa kaligtasan ng pagbabahagi ng mga object sa iba’t ibang flow.
Halimbawa
# Dapat nagpe-play ang source app; panatilihin ang hindi bababa sa 500 ms na history
Audio.start()
wait(600)
clip = Audio.recent(500)
print(clip.duration_ms)
Mga error / limitasyon
Walang karagdagang limitasyong nakadokumento; sundin ang mga parameter at pagkilos sa itaas.
I-slide ang reference sample sa snapshot at ibalik ang pinakamataas na pagkakahawig.
Syntax
audio.match(sample, threshold)
Mga parameter
Pangalan
Paglalarawan
sampleAudio
Reference na audio value na hahanapin sa loob ng audio value na ito.
Kailangan · Ayon sa posisyon o pangalan
Walang default
thresholdNumber (0..1)
Kailangang finite na bilang mula 0 hanggang 1. I-calibrate gamit ang magkakahiwalay na recording; halimbawa lang ang 0.85, hindi pangkalahatang inirerekomendang threshold.
Kailangan · Ayon sa posisyon o pangalan
Walang default
Ibinabalik na halaga
AudioMatch
Pagkilos / epekto
I-slide ang reference sample sa snapshot at ibalik ang pinakamataas na pagkakahawig. Gumagamit ng 64 normalized na amplitude-mel band at kinukuha ang average ng pagkakahawig sa mga reference frame na may signal; bumababa ang score kapag may nawawalang tunog. Hindi tugma ang mga tahimik na bahagi. Walang speech recognition o pagwawasto ng bilis at pitch. Error kung mas mahaba ang sample kaysa sa clip. I-calibrate muli ang threshold pagkatapos i-update ang matcher gamit ang magkakahiwalay na recording.
Pagpapatakbo
Naghihintay matapos: May kondisyon
Kaligtasan ng sabayang paggamit: Hindi garantisado
Sabayang pagpapatakbo: May kondisyon
Ang oras ng pagproseso at paghihintay ay depende sa operasyon. Panatilihin ang nababagong mga value sa flow na may-ari nito; walang pangkalahatang garantiya sa kaligtasan ng pagbabahagi ng mga object sa iba’t ibang flow.
Halimbawa
# I-save ang alert sample sa Template Manager bago patakbuhin ang halimbawang ito
sample = Audio("alert")
Audio.start()
wait(1500)
clip = Audio.recent(1500)
result = clip.match(sample, 0.85)
print(result)
Audio.stop()
Mga error / limitasyon
Walang karagdagang limitasyong nakadokumento; sundin ang mga parameter at pagkilos sa itaas.
Makinig sa bagong audio para hanapin ang reference na ito sa loob ng timeout_ms millisecond at ibalik ang unang AudioMatch, o None kung walang nahanap.
Syntax
audio.find(timeout_ms, threshold)
Mga parameter
Pangalan
Paglalarawan
timeout_msNumber (0..2147483647)
Kailangang buong bilang mula 0 hanggang 2147483647 millisecond ang tagal ng panahon ng pag-record. Hindi kasama ang oras na naka-pause ang macro. Tinatantiya ang mga hangganan ng panahon mula sa oras na natapos ang pagbasa ng recorder, hindi sa mga timestamp ng hardware.
Kailangan · Ayon sa posisyon o pangalan
Walang default
thresholdNumber (0..1)
Kailangang finite na bilang mula 0 hanggang 1. I-calibrate gamit ang magkakahiwalay na recording; halimbawa lang ang 0.85, hindi pangkalahatang inirerekomendang threshold.
Kailangan · Ayon sa posisyon o pangalan
Walang default
Ibinabalik na halaga
AudioMatch | None
Pagkilos / epekto
Makinig sa bagong audio para hanapin ang reference na ito sa loob ng timeout_ms millisecond at ibalik ang unang AudioMatch, o None kung walang nahanap. Sisimulan ang naka-configure na capture kung kailangan at mananatili itong aktibo hanggang Audio.stop() o matapos ang macro. Audio lamang na natanggap matapos mag-subscribe ang tawag na ito ang susuriin. Tuloy-tuloy na sinusuri ang magkakapatong na bahagi bawat 10 ms, habang muling ginagamit ang spectra sa pagitan ng mga block; iniiwasan nito ang puwang sa polling pero hindi ginagarantiya ang pagkilala. Para sa sample na hindi bababa sa 100 ms at may sapat na tunog, ibinabalik agad ang halos perpektong tugma (score na hindi bababa sa 0.9999) kapag buo nang natanggap ang sample. Ang iba pang malalakas na tugma (score na hindi bababa sa 0.98) ay maaaring magsuri ng posisyon nang hanggang 20 ms pa; ang mas mahihinang tugma ay may 50 ms na panahon ng pagsusuri. Kung sa bandang dulo nito lang naging malakas ang tugma, minsan pa itong susuriin nang hanggang 20 ms. Kailangang pumasa ang lahat ng resulta sa itinakdang threshold. Nililimitahan ng timeout ang panahon ng pag-record; maaaring may dagdag na latency sa pagproseso ng sakop na audio. Ang zero ay nagbabalik ng None nang hindi sinisimulan ang capture. Itinatapon ng Pause ng macro ang nakapilang audio at pinapahinto ang timeout; sa Resume, bagong bahagi ang hahanapan. Error ang pagkawala ng capture, pag-apaw ng data, at sirang audio, hindi None.
Pagpapatakbo
Naghihintay matapos: May kondisyon
Kaligtasan ng sabayang paggamit: Hindi garantisado
Sabayang pagpapatakbo: May kondisyon
Ang oras ng pagproseso at paghihintay ay depende sa operasyon. Panatilihin ang nababagong mga value sa flow na may-ari nito; walang pangkalahatang garantiya sa kaligtasan ng pagbabahagi ng mga object sa iba’t ibang flow.
Halimbawa
# Maghintay ng bagong tunog at pangasiwaan ang timeout
audio = Audio("alert")
result = audio.find(timeout_ms=5000, threshold=0.85)
if result is not None:
print(result.score, result.start_ms, result.end_ms)
Audio.stop()
Mga error / limitasyon
Walang karagdagang limitasyong nakadokumento; sundin ang mga parameter at pagkilos sa itaas.