Android 14, geliştirici API'leri sağlar USB için tercih edilen mikser özelliklerini sorgulamak ve yapılandırmak üzere uygulamaların kullanabileceği ses çalma. Bu tercih edilen mikser özellikleri uygulamaların ses biçimini ayarlamasına izin vererek USB ses çalma deneyimini iyileştirir. kanal maskesi, örnek hızı ve karıştırıcı davranışı. Tercih edilen Desteklenen USB cihazlarda mikser API'leri, kullanıcılar daha düşük gecikmeli ses çalabilir ve daha yüksek çözünürlüklü ses içeriği sunar.
Bu özellik, isteğe bağlı bit mükemmelliğinde oynatma mikserini de destekler. veya USB cihazlarıyla ilgili bir davranış örneğidir. Mükemmel bit modu, ana kopyanın oynatılmasını sağlar ve doğrudan akış dijital (DSD) biçimlerini kullanıyorsanız dijital-analog dönüştürücüler (DAC) için kullanılabilir.
Arabirim
Ses Politikası Yöneticisi, çerçevedeki mikser özelliklerini işler. İlgili içeriği oluşturmak için kullanılan
AudioMixerAttributes
class mikserin özelliklerini temsil eder. AudioMixerAttributes
sınıfı bir
AudioFormat
ses veri biçimini, kanal maskesini ve örnek hızını açıklayan nesne
mikser. Varsayılan olarak çerçeve, mikser davranışını belirler ve
ses kontrolü ve efektleri uygulayın.
Mikser davranışı BIT_PERFECT
modunu kullanıyorsa sistem, sesi gönderir
ses çerçevesi, HAL ve isteğe bağlı olarak
dijital sinyal işlemcisi (DSP) ile uyumludur. İlgili içeriği oluşturmak için kullanılan
BIT_PERFECT
modu, herhangi bir
veya karıştırmak verilerin anlamlarını kaybetmesine neden olabilir.
Uygulamalar mikser özelliklerini yapılandırdığında çerçeve çıkış akışını yeniden açar yeni özellikler eklemeniz gerekebilir. Aşağıdaki şekilde, mikser özellikleri ayarlandığında uygulama, çerçeve ve HAL'yi destekler:
Şekil 1. Uygulama, çerçeve ve HAL arasındaki arayüz.
Uygulama
BIT_PERFECT
dışında tercih edilen karıştırıcı özelliklerinin uygulanması
özelliğini kullanmanızı öneririz.
Tercih edilen mikser özellikleri
Tercih edilen mikser özelliklerini desteklemek için tedarikçi firmaların, yönlendirme USB cihazlarını desteklemesi gerekir aşağıdaki gibi dinamik mix bağlantı noktasına ekleyin:
usb_audio_policy_configuration.xml
içinde dinamik mix bağlantı noktasını tanımlayın.USB cihazlarını dinamik mix bağlantı noktalarına ses politikası yapılandırması veya
getAudioPorts
vegetAudioRoutes
AIDL yöntemlerinde kullanılabilir.
USB ses HAL'si için referans uygulamasını hardware/libhardware/modules/usbaudio
altında bulabilirsiniz.
frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml
bölgesinde bir dinamik karma bağlantı noktası örneğini inceleyin.
Mükemmel oynatma özelliği
Mükemmel oynatma özelliği isteğe bağlıdır ve yalnızca AIDL'de desteklenir.
Ses HAL'nin uygulanması. Mükemmel oynatmanın desteklenmesi için tedarikçi firmaların
AUDIO_OUTPUT_FLAG_BIT_PERFECT
mükemmel çıkış işaretini dinamiğe ekleyin
USB cihazına yönlendirilebilen bir mix bağlantı noktası.
Aşağıdaki kod örneğinde, AUDIO_OUTPUT_FLAG_BIT_PERFECT
usb_audio_policy_configuration.xml
içinde işaretle:
<module name="usb" halVersion="2.0">
<mixPorts>
<mixPort name="hifi_output"
role="source" flags="AUDIO_OUTPUT_FLAG_BIT_PERFECT">
</mixPort>
</mixPorts>
<devicePorts>
<devicePort tagName="USB Device Out"
type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="USB Device Out"
sources="hifi_output"/>
</routes>
</module>
"Bit mükemmel" oynatma özelliği belirtilmişse HAL, USB cihazına herhangi bir değişiklik yapılmadan gönderilir, yani ses akışında ses düzeyi ölçeklendirme, örnek hızı dönüştürme veya ses bulunmamalıdır. ve DSP'de karıştırılmamalıdır. Bu durumda, çerçeve tarafından sağlanmadığından ses düzeyi donanım tarafından kontrol edilir. yazılım ses seviyesi kontrolü değildir.
Doğrulama
CTS testlerini
PreferredMixerAttributesTestActivity.java
USB cihazlarda tercih edilen mikser özelliklerinin desteğini doğrulamak için kullanılır.
BIT_PERFECT
özelliğinin uygulandığını doğrulamak için şu özelliklere sahip USB DAC'ler kullanın:
nabız kodu modülasyon (PCM) ses biçimleri üzerinden MQA ve DSD'yi destekler.