Audiogerät. Mehr...
#include <stdlib.h>
#include "config.h"
#include "base.h"
| Datenstrukturen | |
| struct | otc_audio_device_settings |
| struct | otc_audio_device_callbacks |
| Typdefinitionen | |
| typedef struct otc_audio_device | otc_audio_device |
| Funktionen | |
| size_t | otc_audio_device_read_render_data (int16_t *buffer, size_t Anzahl_der_Abtastwerte) |
| otc_status | otc_audio_device_write_capture_data (const int16_t *buffer, size_t Anzahl_der_Abtastwerte) |
| otc_status | otc_set_audio_device (const struct otc_audio_device_callbacks *Callbacks) |
| otc_status | otc_audio_device_restart_input () |
| otc_status | otc_audio_device_restart_output () |
Ausführliche Beschreibung
Audiogerät.
Diese Datei enthält die Typdefinition für ein Audiogerät sowie die dazugehörigen Strukturen und Funktionen.
Verwenden Sie ein Audiogerät, um einen benutzerdefinierten Audio-Capturer für alle Publisher und einen benutzerdefinierten Audio-Renderer für alle Publisher und Subscriber festzulegen. Wenn Sie kein benutzerdefiniertes Audiogerät verwenden, nutzt die Anwendung das Standard-Audiogerät, das das Systemmikrofon und den Systemlautsprecher verwendet.
Für jeden Publisher und jeden Subscriber in jeder Sitzung, mit der sich der Client verbindet, wird ein benutzerdefiniertes Audiogerät verwendet. Sobald das Audiogerät festgelegt ist, gilt diese Einstellung global. Die für die Aufnahme und Wiedergabe vorgesehenen Kanäle des festgelegten Audiogeräts werden für die Wiedergabe und Aufnahme von Audio für alle Teilnehmer der Sitzung verwendet. Es ist nicht möglich, ein Audiogerät ausschließlich für einen bestimmten Publisher oder Subscriber festzulegen.
Eine Instanz von otc_audio_device_callbacks Struktur, in der Callback-Funktionen für Ereignisse im Zusammenhang mit dem Audiogerät festgelegt werden. Rufen Sie anschließend otc_set_audio_device(const struct otc_audio_device_callbacks callbacks) auf, um die Callbacks dem zu verwendenden Audiogerät zuzuordnen. Sie müssen diese Funktion aufrufen, bevor Sie eine Verbindung zu einer Sitzung herstellen. Zudem handelt es sich hierbei um einen globalen Vorgang, der über die gesamte Laufzeit einer Application hinweg bestehen bleiben muss.
Rufen Sie die otc_audio_device_read_render_data Funktion zum Abrufen von noch nicht gerenderten Audio-Samples.
Rufen Sie die otc_audio_device_write_capture_data Funktion zum Schreiben von Audio-Samples, die in die von Ihnen veröffentlichten Streams aufgenommen werden.
Typedef-Dokumentation
otc_audio_device
| typedef struct otc_audio_device otc_audio_device |
Definition des Audiogerätetyps.
Funktionsdokumentation
otc_audio_device_read_render_data()
| size_t otc_audio_device_read_render_data | ( | int16_t * | Puffer, |
| size_t | Anzahl der Stichproben | ||
| ) |
Ruft noch nicht gerenderte Audio-Samples aus der Session ab. Diese Samples werden aus den Streams der von Ihnen abonnierten Session gemischt.
Parameter : | | | | --- | --- | | buffer | Der Puffer, der die Audiodaten enthält. | | number_of_samples | Die Anzahl der angeforderten Samples. |
Rückgabewert : Die Anzahl der aus dem Audiopuffer kopierten Samples.
otc_audio_device_restart_input()
| otc_status otc_audio_device_restart_input | ( | ) |
Startet das Audio-Eingabegerät neu. Diese Methode muss immer dann aufgerufen werden, wenn sich das Eingabegerät im benutzerdefinierten Audiogerät ändert, damit das SDK die erforderlichen Anpassungen für das neue Gerät vornehmen kann. Außerdem löst dies Folgendes aus: otc_audio_device_callbacks Methoden in der folgenden Reihenfolge:
-
stop_capturer
-
init_capturer (nur wenn is_capturer_initialized den Wert „false“ zurückgibt)
-
start_capturer (nur wenn is_capturer_started den Wert „false“ zurückgibt)
Rückgabewerte : Rückgabewert, der entweder einen Fehler oder einen Erfolg anzeigt.
otc_audio_device_restart_output()
| otc_status otc_audio_device_restart_output | ( | ) |
Startet das Audioausgabegerät neu. Diese Methode muss immer dann aufgerufen werden, wenn sich das Ausgabegerät im benutzerdefinierten Audiogerät ändert, damit das SDK die erforderlichen Anpassungen für das neue Gerät vornehmen kann. Außerdem löst dies Folgendes aus: otc_audio_device_callbacks Methoden in der folgenden Reihenfolge:
-
stop_renderer
-
init_renderer (nur wenn is_renderer_initialized den Wert „false“ zurückgibt)
-
start_renderer (nur, wenn is_renderer_started den Wert „false“ zurückgibt)
Rückgabewerte : Rückgabewert, der entweder einen Fehler oder einen Erfolg anzeigt.
otc_audio_device_write_capture_data()
| otc_status otc_audio_device_write_capture_data | ( | const int16_t * | Puffer, |
| size_t | Anzahl der Stichproben | ||
| ) |
Leitet Audiodaten vom Audiogerät weiter, um sie an eine Sitzung zu übertragen. Diese Audiodaten werden von den Streams verwendet, die Sie in der Sitzung veröffentlichen.
Parameter : | | | | --- | --- | | buffer | Der Puffer, der die Audiodaten enthält. | | number_of_samples | Die Anzahl der Samples, die zum Kopieren zur Verfügung stehen. |
Rückgabewerte : Rückgabewert, der entweder einen Fehler oder einen Erfolg anzeigt.
otc_set_audio_device()
| otc_status otc_set_audio_device | ( | const struct otc_audio_device_callbacks * | Rückrufe | ) |
Legt das zu verwendende Audiogerät fest. Sie müssen diese Funktion aufrufen, bevor Sie eine Verbindung zu einer Sitzung herstellen. Zudem handelt es sich hierbei um einen globalen Vorgang, der während der gesamten Laufzeit einer Sitzung bestehen bleiben muss.
Parameter : | | | | --- | --- | | callbacks | Ein Zeiger auf eine Callback-Struktur für ein Audiogerät. |
Rückgabewerte : Rückgabewert, der entweder einen Fehler oder einen Erfolg anzeigt.