Android R 相对于Android P 音视频相关更新
Android R 相对于Android P 音视频相关更新
Graphics
ASurfaceControl
Android 10 adds ASurfaceControl
, a new way for SurfaceFlinger
to accept buffers.
Graphics implementation
OpenGL ES layers
Android 10 introduces a layering system for GLES.
EGL 1.5
Android 10 implements the EGL 1.5 interface. For information on new features in EGL 1.5, view the Khronos Releases EGL 1.5 Specification.
Vulkan
Android 10 includes support for Vulkan 1.1 graphics. The platform also supports VK_KHR_swapchain
v70, so the Vulkan app is able to create a VkImage
backed by swapchain memory.
Performance refresh rate
Android 10 adds support for a performance refresh rate. This feature is turned off by default.
Display
HDR video playback
Android 10 supports HDR10, VP9, and HDR10+ playback.
Text classification
Text classification uses machine learning techniques to help developers classify text. Android 10 introduces two methods to the TextClassifier API: suggestConversationActions
and detectLanguage
. The suggestConversationActions
method generates suggested replies and actions from a given conversation and the detectLanguage
method detects the language of the text.
Support for Zawgyi font rendering
Zawgyi is the most popular font in Myanmar. Android 9 and lower didn't support rendering Zawgyi because it isn't Unicode compliant. Android 10 addresses this by including a Unicode font capable of rendering both Unicode Burmese and Zawgyi together. No implementation work is needed to support Zawgyi font rendering on devices launching with Android 10. If your devices have a custom implementation to support Zawgyi, you can:
- Revert those changes and use the platform-supported method.
- Keep the common Zawgyi font in your system and use the locale code
my-qaag
in yourfonts.xml
. For more information, see the Unicode CLDR release notes on Zawgyi (Qaag).
Limitations to hiding app icons
Android 10 limits the ability for apps to hide their launcher icons. If an app doesn't have a launcher activity enabled, the system displays a synthesized activity in the launcher; this synthesized activity represents the app's details page within system settings.
For more information about the logic used to show app icons, including the types of apps whose app icons aren't shown, see the documentation for getActivityList()
in the API reference.
Bubbles notification API updates
Android 10 introduced the Bubbles notification API, which let users easily multi-task from anywhere on their device. Android 11 includes several Bubbles enhancements. The most notable changes are turning Bubbles on by default and moving the settings out of developer options. No work is required to implement Bubbles in the Android platform.
Device Controls
The Device Controls feature, available starting in Android 11, allows the user to quickly view and control external devices such as lights, thermostats, and cameras from the power menu. Device aggregators (for example, Google Home) and third-party vendor apps can provide devices for display in this space. No platform implementation work is required to support this feature. The default implementation is included in the AOSP System UI. For information about adding support for device controls to your control app, see the Control external devices Android developers page.
Text classifier updates
Android 11 introduces an updatable default implementation of the text classifier service that is in the ExtServices Mainline module. Device manufacturers are recommended to use this implementation of TextClassifierService
as it can be updated through Mainline OTA updates.
Audio
Audio HAL
Android 10 includes the following new capatibilties for audio HAL.
AudioSource
AudioFormat
AudioChannelMask
Additional requirements are added for audio HAL and subsystem implementation.
Preprocessing effects
Android provides preprocessing effects, such as acoustic echo cancellation, automatic gain control, and noise suppression. Android 10 includes new requirements for capturing with VOICE_COMMUNICATION
.
Audio policy manager
Android 10 includes a significant refactoring of the audio policy manager to provide more flexibility to support complex automotive use cases.
High-resolution audio
Android 10 includes the following improvements for high-resoluton audio.
- Float support
- 192 KHz frequency support
- Eight-channel support
- Inclusion of timing information
Concurrent capture
Android 10 improves the concurrent capture user experience that requires more than one active audio capture to happen simultaneously.
AudioPlaybackCapture
Android 10 contains a new API called AudioPlaybackCapture
, which gives apps the ability to copy the audio being played by other apps. This feature is similar to screen capture, but for audio. The primary use case is to enable streaming apps to capture the audio being played by games.
The capture API doesn't affect the latency of the app whose audio is being captured.
MIDI
Android 10 makes it easier to port professional audio apps using MIDI to the Android platform using the AMidi
NDK API.
Automotive audio
In Android 10, Audio HAL context maps to AudioAttributes.usage
to identify sounds. Android supports one AUDIO_DEVICE_OUT_BUS
instance per context. IAudioControl
HAL provides vehicle-specific extensions to the Audio HAL.
Audio capture from FM tuner requires a privileged permission
In Android 11, audio source MediaRecorder.AudioSource.RADIO_TUNER
is visible as @SystemApi and using it when capturing audio with an AudioRecord
or MediaRecorder
requires privileged permission android.permission.CAPTURE_AUDIO_OUTPUT
Audio effects
Starting in Android 11, the device manufacturers have the ability to automatically attach and enable specific audio effects when a given audio device is selected for audio capture or playback.
Device type limit
In Android 11, we have removed the limit on the number of audio device types to allow new audio device types to be added.
Implementation
Audio implementation
Android 11 features stricter enforcement of sound trigger HAL implementations at runtime than lower versions.
Media
Updatable media components
Android 10 provides updatable media components that enable updating media-related modular system components through the Google Play Store infrastructure or through a partner-provided over-the-air (OTA) mechanism.
Media DRM
Android 10 improves the utility and usability of the MediaDrm
Java and NDK APIs.
Decoding
Android 10 supports AV1 SW decoding.
DRM
Android 11 simplifies the MediaDrm/Crypto IPC path through MediaDrmService removal. A new MediaDrm
API is added to enumerate available DRM plugins.
Low latency decoding in MediaCodec
Android 11 includes MediaCodec 2.0 to enable media decoding with low latency, which is critical for real-time apps.