Jaz*_*Jaz 2 android metadata icecast exoplayer
自从从 Mediaplayer 切换到简单的 Exoplayer 实现后,我注意到加载时间有了很大改善,但我想知道是否有任何内置功能,例如流式传输音频时的元数据更改侦听器?
我已经使用一个简单的例子实现了 Exoplayer,如下所示:
Uri uri = Uri.parse(url);
DefaultSampleSource sampleSource =
new DefaultSampleSource(new FrameworkSampleExtractor(context, uri, null), 2);
TrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource);
mExoPlayerInstance.prepare(audioRenderer);
mExoPlayerInstance.setPlayWhenReady(true);
Run Code Online (Sandbox Code Playgroud)
冰冷的元数据支持现在在 exoplayer 2.10 版中:
ExoPlayerFactory.newSimpleInstance(this).apply {
setAudioAttributes(
AudioAttributes.Builder()
.setContentType(C.CONTENT_TYPE_MUSIC)
.setUsage(C.USAGE_MEDIA)
.build(), true
)
addMetadataOutput(object : MetadataOutput {
override fun onMetadata(metadata: Metadata) {
for (n in 0 until metadata.length()) {
when (val md = metadata[n]) {
is com.google.android.exoplayer2.metadata.icy.IcyInfo -> {
Log.d(TAG, "Title: ${md.title} URL: ${md.url}")
}
else -> {
Log.d(TAG, "Some other sort of metadata: $md")
}
}
}
}
})
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5238 次 |
| 最近记录: |