- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试构建一个播放器,使用 MediaCodec
播放带有 2 个音轨的 mpeg2-ts 流和 MediaExtractor
.当我将 URL 设置为提取器时:extractor.setDataSource(URL)
在 Logcat 中我可以看到框架找到了 2 个音轨:
但后来我打电话:
int trackCount = extractor.getTrackCount();
for (int i = 0; i < track_count; i++){
format = extractor.getTrackFormat(i);
String mime = format.getString(MediaFormat.KEY_MIME);
if (mime.startsWith("video/")) ...
if (mime.startsWith("audio/")) ...
}
trackCount
aways 等于 2(1 个音轨和 1 个视频轨)。我究竟做错了什么?
最佳答案
您没有做错任何事情-似乎 MPEG2TSExtractor 类(用于 mpeg2 ts 文件的 MediaExtractor 背后的实际实现)仅支持一个音频流和一个视频流。
参见例如https://android.googlesource.com/platform/frameworks/av/+/1a9c3954a/media/libstagefright/mpeg2ts/MPEG2TSExtractor.cpp 中的 init 方法(第 156-193 行)。因此,如果您需要解复用具有多个音频流的任何 mpeg2 ts 流,您基本上需要 bundle 您自己的解复用器。
关于android - MediaExtractor 返回错误数量的轨道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27191630/
我正在尝试构建一个播放器,使用 MediaCodec 播放带有 2 个音轨的 mpeg2-ts 流和 MediaExtractor .当我将 URL 设置为提取器时:extractor.setData
我正在尝试使用 MediaExtractor 和 MediaCodec 从电影中获取特定时间的特定帧作为图像。如果满足以下条件,我可以成功完成: 我使用 extractor.seekTo(time,
我正在尝试开发一个应用程序,通过 RTSP(实时流协议(protocol))从安全摄像头下载实时视频流。 我已成功连接到相机并可以在 VideoView 中查看视频。但是,我想要对数据流进行低级访问,
使用 MediaExtractor 类,我可以从保存的 mp4 视频中获取编码的音频样本数据,如下所示: ByteBuffer byteBuffer = ByteBuffer.allocate(102
什么意思: SAMPLE_FLAG_SYNC SAMPLE_FLAG_ENCRYPTED 我很难理解音频文件的“同步样本”概念。 此外,请随时提出任何技术引用以了解“整个场景”。 最佳答案 SAMPL
我是新来的,刚接触 Android 开发。这是我的第一个问题。 我正在使用 MediaExtractor 和 MediaCodec 播放带有视频和音频的 mp4 文件。现在我得到一对视频提取器/编解码
MediaExtractor 类的 advance() 方法比预期更早(在文件结束之前)发出流结束信号,我遇到了问题。根据谷歌引用 advance()使用本地文件时方法可能会出错(这是我的情况 - f
我试着回答这个问题 Concatenate multiple mp4 audio files using android´s MediaMuxer并连接视频文件。 但由于某些原因,当我调用 readS
我使用 MediaCodec 和 MediaExtractor 创建了一个视频播放器,但是当我尝试使用 MediaExtractor seekTo< 更改媒体位置时 方法它真的很慢(寻找 1080P
我正在尝试使用 MediaExtract 提取 avi 文件的轨道 0(视频轨道)并使用 MediaCodec 编码为 h264 格式。这是我配置 mediaCodec 的方式 public Medi
我正在尝试使用 MediaExtractor/MediaCodec 播放 mp3 流。由于延迟和长缓冲区大小,MediaPlayer 是不可能的。 我找到的唯一示例代码是:http://dpsm.wo
我正在使用 MediaCode、MediaExtractor 和 AudioTrack 创建我自己的媒体播放器实现。我需要对从本地存储的音频文件中读取的解码 mp3 样本执行失真 - 因此需要自定义实
我正在尝试使用 ExoPlayer 播放 AAC 流。我遇到了与使用内置 MediaPlayer 时遇到的相同问题:在 KitCat 上启动需要 15 - 20 秒(其他版本可能也会发生同样的情况,但
我在两台 Android 设备上检查了 MediaExtractor 的输出,它似乎在它们上产生了略有不同的样本,假设相同视频文件。 对于一个设备,非 VCL NAL 单元连接到下一个 VCL 单元以
我正在使用 MediaExtractor/MediaCodec 解码视频并将其渲染到 TextureView。作为模板,我使用了以下代码:https://github.com/vecio/MediaC
我正在尝试流式传输传入的 AMR_NB。我不能直接使用 MediaPlayer,因为它需要一个可搜索的文件。我想使用 MediaCodec,但要使用 MediaCodec,我需要(我想……请纠正我!)
我正在像这样使用 Android MediaExtractor: MediaExtractor extractor = new MediaExtractor(); extractor.setDataS
我需要将视频解码为一系列位图,以便我能够修改它们,然后将它们压缩回 android 中的视频文件。 我计划通过使用 getFrameAtTime 并将其保存到图像序列中来管理它。然后我可以修改序列中的
我尝试读取 raw/assets 文件夹中的视频文件,我尝试了以下方法,但均无效。我正在测试 API 16。每种方法,我都尝试使用和不使用 mp4 扩展。我真的很感激有人可以帮助我 所有方法都不会崩溃
我正在尝试使用 MediaCodec 播放视频。视频正在播放但音频静音。我想取消静音。经过研究我发现我们需要单独解码音频和视频。我想只使用一个 Mediacodec 和 MediaExtractor
我是一名优秀的程序员,十分优秀!