MediaMuxer.AddTrack(MediaFormat) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
添加具有指定格式的曲目。
[Android.Runtime.Register("addTrack", "(Landroid/media/MediaFormat;)I", "")]
public int AddTrack (Android.Media.MediaFormat format);
[<Android.Runtime.Register("addTrack", "(Landroid/media/MediaFormat;)I", "")>]
member this.AddTrack : Android.Media.MediaFormat -> int
参数
- format
- MediaFormat
轨道的媒体格式。这不能是空的 MediaFormat。
返回
此新添加的跟踪的跟踪索引,应在该跟踪中使用 #writeSampleData
。
- 属性
注解
添加具有指定格式的曲目。
下表汇总了对跨 Android 版本的特定格式键的支持。 需要用“+:”标记的键。
<表样式=“width: 0%”><thead<>tr<>th rowspan=2>OS Version(s)</th<>td colspan=3>MediaFormat
keys used for</th/tr><tr<>th>All Tracks</<>>th Audio< Tracks/th>< Video Tracks</>><th></tr<>/thead><tbody><tr><td><android.os.Build.VERSION_CODES#JELLY_BEAN_MR2
/td><rowspan=7>+:<MediaFormat#KEY_MIME
/td><td tdrowspan=3>+: ,<br +: MediaFormat#KEY_SAMPLE_RATE
MediaFormat#KEY_CHANNEL_COUNT
,<br>> +: <强>编解码器特定的数据<sup>AAC</sup></strong></td<>td rowspan=5>+: MediaFormat#KEY_WIDTH
,br +:<>MediaFormat#KEY_HEIGHT
,<br> noKEY_ROTATION
, use<#setOrientationHint setOrientationHint()
sup.mp4</sup,br>>< +: <强>编解码器特定的数据<sup>> AVC, MPEG4</sup></strong></td/tr<><>td></td>android.os.Build.VERSION_CODES#KITKAT
<></tr><><td/td><android.os.Build.VERSION_CODES#KITKAT_WATCH
></tr<>><td/td<android.os.Build.VERSION_CODES#LOLLIPOP
> td><rowspan=4>,以及<br> +: <强>编解码器特定的数据<sup>Vorbis & .webm</sup></strong></td><></tr tr<>td<>android.os.Build.VERSION_CODES#LOLLIPOP_MR1
/td<>/tr><><td/td td as>android.os.Build.VERSION_CODES#M
<><>上面,加上<br><MediaFormat#KEY_BIT_RATE
sup>AAC</sup></td/tr><><td></td td<>td>><android.os.Build.VERSION_CODES#N
,以及<br<>-- {link MediaFormat#KEY_MAX_BIT_RATE}<sup>AAC, MPEG4</sup,br><> --MediaFormat#KEY_BIT_RATE
<>sup>MPEG4</sup,br> sup>#, .webm</sup,br<>MediaFormat#KEY_HDR_STATIC_INFO
<><>MediaFormat#KEY_COLOR_STANDARD
<sup>#</sup,br><>MediaFormat#KEY_COLOR_TRANSFER
< sup#</sup,br>< sup>>#</sup,br>>><MediaFormat#KEY_COLOR_RANGE
< +: <强>编解码器特定的数据<sup>HEVC</sup></strong,br>>< codec-specific data<sup>VP9</sup></td/tr><><tr td<> colspan=4<>p class=note><strong>Notes:</strong><br> #:存储到容器元数据中。<br> .mp4,.webm…:对于列出的容器<br> MPEG4,AAC…:对于列出的编解码器 </td/tr<><>td>< colspan=4><p class=请注意>,必须使用此方法指定跟踪的编解码器特定的数据。 此外,不得通过 #writeSampleData writeSampleData()
调用传递/指定特定于编解码器的数据。 </td></tr></tbody></table>
下表汇总了跨 Android 版本的容器的编解码器支持:
<表样式=“width: 0%”>thead><tr><th rowspan=2>OS Version(s)</th><td colspan=3>Codec support</th></tr><tr><th>OutputFormat#MUXER_OUTPUT_MPEG_4 MP4</th>><outputFormat#MUXER_OUTPUT_WEBM WEBM</th></tr></thead<>tbody<>tr<>tdandroid.os.Build.VERSION_CODES#JELLY_BEAN_MR2
<>/td><td rowspan=6,br,MediaFormat#MIMETYPE_AUDIO_AMR_NB NB-AMR
>MediaFormat#MIMETYPE_AUDIO_AAC AAC
<><<br,br,br,br><MediaFormat#MIMETYPE_VIDEO_MPEG4 MPEG-4
><>>MediaFormat#MIMETYPE_VIDEO_H263 H.263
MediaFormat#MIMETYPE_VIDEO_AVC AVC
MediaFormat#MIMETYPE_AUDIO_AMR_WB WB-AMR
< (H.264)</td td<>rowspan=3>不支持</td<>/tr><tr<>td<>android.os.Build.VERSION_CODES#KITKAT
/td/><tr tr<>td>android.os.Build.VERSION_CODES#KITKAT_WATCH
</<>td></><><tr tr tdandroid.os.Build.VERSION_CODES#LOLLIPOP
></<>td td rowspan=3,br>>MediaFormat#MIMETYPE_VIDEO_VP8 VP8
MediaFormat#MIMETYPE_AUDIO_VORBIS Vorbis
<</td<>/tr><tr<>td/td>android.os.Build.VERSION_CODES#LOLLIPOP_MR1
<></tr><<>tr td/td>android.os.Build.VERSION_CODES#M
</tr><><td></tdandroid.os.Build.VERSION_CODES#N
>< td<>td>,加上<brMediaFormat#MIMETYPE_VIDEO_HEVC HEVC
> (H.265)</td><td>,如上所示,加上<br><MediaFormat#MIMETYPE_VIDEO_VP9 VP9
/td></tr></tbody></table>
适用于 . 的 android.media.MediaMuxer.addTrack(android.media.MediaFormat)
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。