如何将自定义android.media.MediaDataSource与android.media.MediaPlayer一起使用?

如何将自定义android.media.MediaDataSource与android.media.MediaPlayer一起使用?,第1张

如何将自定义android.media.MediaDataSource与android.media.MediaPlayer一起使用?

要点是,它

MediaPlayer
确实可以播放 音频/ mpeg (通过URL和自定义两种方式
MediaDataSource
),但是
音频/ aacp 流只能通过URL像一样播放
DataSource

因此,让我们了解幕后情况。

当您将URL作为数据源传递时,将执行以下检查:

    if ("file".equals(scheme)) {        path = uri.getPath();    } else if (scheme != null) {        // handle non-file sources        nativeSetDataSource( MediaHTTPService.createHttpServiceBinderIfNecessary(path), path, keys, values);        return;    }

MediaPlayer

使用
MediaHTTPService
类,它负责提供从数据
http
https
widevine
协议。
MediaHTTPService
在内部使用
MediaHTTPConnection
,使用这种类型的流需要花费大量的精力。不幸的是,这些API尚未公开(但是),但是您可以看到如何在
MediaHTTPConnection
源中建立连接(特别是
seekTo
method)。因此,您提供的自定义数据源
MediaPlayer
应该大致描述
MediaHTTPConnection
该类实现的逻辑。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5506964.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存