Definiuje bufor dzwonienia i niektóre funkcje użytkowe służące do przygotowywania wejściowych próbek dźwięku.
Zawiera bufor pierścieni, który utrzymuje wejściowego dźwięku. Klienty mogły wprowadzać dane dźwiękowe za pomocą metod „load” i uzyskiwać dostęp do zagregowanych próbek audio za pomocą metody „getTensorBuffer”.
Pamiętaj, że ta klasa obsługuje tylko wejścia audio w postaci liczby zmiennoprzecinkowej (AudioFormat.ENCODING_PCM_16BIT) lub Short (w AudioFormat.ENCODING_PCM_FLOAT). Wewnętrznie konwertuje i zapisuje cały dźwięk.
próbek kodowania PCM Floating.
Typowe użycie w Kotlin
val audioData = AudioData.create(format, modelInputLength) audioData.load(newData)
Kolejne przykładowe użycie w ramach usługi AudioRecord
val audioData = AudioData.create(format, modelInputLength)
Timer().scheduleAtFixedRate(delay, period) {
audioData.load(audioRecord)
}
Zagnieżdżone klasy
| klasa | AudioData.AudioDataFormat | Dodaje kilka stałych opisujących format przychodzących próbek dźwięku, czyli liczbę kanałów i częstotliwości próbkowania. | |
Metody publiczne
| statyczny AudioData |
create(format AudioData.AudioDataFormat, int sampleCounts)
Tworzy instancję
AudioRecord z buforem pierścieni o rozmiarze sampleCounts * format.getNumOfChannels(). |
| statyczny AudioData | |
| float[] |
getBuffer()
Zwraca tablicę zmiennoprzecinkową, która zawiera wszystkie dostępne próbki audio w języku
AudioFormat.ENCODING_PCM_FLOAT, tj. |
| int, | |
| AudioData.AudioDataFormat | |
| nieważne |
load(short[] src)
Konwertuje próbki dźwięku wejściowego
src na ENCODING_PCM_FLOAT, a następnie zapisuje je w pierścieniu
bufora. |
| nieważne |
load(float[] src, int przesunięciaInFloat, int sizeInFloat)
Przechowuje próbki dźwięku (
src) w buforze dzwonka. |
| nieważne |
load(short[] src, int przesunięciaInShort, int sizeInShort)
Konwertuje próbki dźwięku wejściowego
src na ENCODING_PCM_FLOAT, a następnie zapisuje je w pierścieniu
bufora. |
| int, |
load(rekord AudioRecord)
Wczytuje najnowsze dane z urządzenia
AudioRecord w sposób nieblokujący. |
| nieważne |
load(float[] src)
Przechowuje próbki dźwięku (
src) w buforze dzwonka. |
Metody dziedziczone
Metody publiczne
publiczne statyczny AudioData utwórz (format AudioData.AudioDataFormat, int sampleCounts)
Tworzy instancję AudioRecord z buforem pierścieni o rozmiarze sampleCounts * format.getNumOfChannels().
Parametry
| reklamy | oczekiwany AudioData.AudioDataFormat danych audio wczytanych do tej klasy. |
|---|---|
| sampleCounts | liczby próbek. |
publiczne statyczny AudioData utwórz (Format AudioFormat, int sampleCounts)
Tworzy instancję AudioData z buforem pierścieni o rozmiarze sampleCounts *
format.getChannelCount()
Parametry
| reklamy | AudioFormat wymagane przez model TFLite. Definiuje ona
liczbę kanałów i częstotliwość próbkowania. |
|---|---|
| sampleCounts | liczba próbek, które zostaną wprowadzone do modelu |
publiczne float[] . getBuffer ()
Zwraca tablicę zmiennoprzecinkową z wszystkimi dostępnymi próbkami audio w komórce AudioFormat.ENCODING_PCM_FLOAT, tj. wartości należą do zakresu [–1, 1].
publiczne int, . getBufferLength ()
publiczne nieważne . wczytaj (short[] src)
Konwertuje próbki dźwięku wejściowego src na ENCODING_PCM_FLOAT, a następnie zapisuje je w pierścieniu
bufora.
Parametry
| src | próbki dźwięku w języku: AudioFormat.ENCODING_PCM_16BIT. Dla:
dla wielu kanałów, tablica jest przeplatana.
|
|---|
publiczne nieważne . wczytaj (float[] src, int przesunięciaInFloat, int sizeInFloat)
Przechowuje próbki dźwięku (src) w buforze dzwonka.
Parametry
| src | próbki dźwięku w języku: AudioFormat.ENCODING_PCM_FLOAT. Dla:
dla wielu kanałów, tablica jest przeplatana. |
|---|---|
| offsetInFloat | pozycja początkowa w tablicy src |
| sizeInFloat | liczba wartości zmiennoprzecinkowych do skopiowania |
Rzuty
| IllegalArgumentException | w przypadku niezgodnego formatu dźwięku lub nieprawidłowego rozmiaru wejściowego |
|---|
publiczne nieważne . wczytaj (short[] src, int przesunięciaInShort, int sizeInShort)
Konwertuje próbki dźwięku wejściowego src na ENCODING_PCM_FLOAT, a następnie zapisuje je w pierścieniu
bufora.
Parametry
| src | próbki dźwięku w języku: AudioFormat.ENCODING_PCM_16BIT. Dla:
dla wielu kanałów, tablica jest przeplatana. |
|---|---|
| offsetInShort | pozycja początkowa w tablicy src |
| sizeInShort | liczbę krótkich wartości do skopiowania |
Rzuty
| IllegalArgumentException | jeśli tablicy źródłowej nie można skopiować |
|---|
publiczne int, . wczytaj (Rekord nagrania audio)
Wczytuje najnowsze dane z urządzenia AudioRecord w sposób nieblokujący. Tylko
obsługa ENCODING_PCM_16BIT i ENCODING_PCM_FLOAT.
Parametry
| nagranie | instancja instancji AudioRecord |
|---|
Zwroty
- liczba zarejestrowanych wartości dźwiękowych o rozmiarze
channelCount * sampleCount. Jeśli nie było nowych danych w rekordzie AudioRecord lub wystąpił błąd, ta metoda zwróci wartość 0.
Rzuty
| IllegalArgumentException | w przypadku nieobsługiwanego formatu kodowania audio |
|---|---|
| IllegalStateException | jeśli odczyt z AudioRecord nie powiódł się |
publiczne nieważne . wczytaj (float[] src)
Przechowuje próbki dźwięku (src) w buforze dzwonka.
Parametry
| src | próbki dźwięku w języku: AudioFormat.ENCODING_PCM_FLOAT. Dla:
dla wielu kanałów, tablica jest przeplatana.
|
|---|