我需要制作一个可以逐渐将播放速度从0改为大约200%的视频播放器.它必须表现得非常快,因为它将播放以高帧率(60 FPS)录制的高清电影.如果不可能支持HD,则可以使用较低的分辨率.
该代码只需要在具有硬件h264解码器和ICS(目标平板电脑无可用的Jelly Bean)的相对高端的Android平板电脑上运行.
我没有找到任何支持改变Android系统中的视频播放速率,我怀疑我需要深入挖掘JNI才能到达那里,但我想先问一下是否有人有一些代码,建议或指针可以帮我.
我一直在考虑做类似的事情,以下是我的一些发现可能对您有用:
minSdkVersion = 14,因此它应该适用于您的 ICS 设备。我在唯一可用的 ICS+ 设备(运行 4.2 (Jellybean) 的 16GB ASUS Nexus7)上对此进行了测试,我在记录日志中得到了以下输出(省略了我自己的调试语句)
01-15 14:19:33.384: W/libOpenSLES(6037): class MediaPlayer interface 1 requested but unavailable MPH=75
01-15 14:19:33.384: W/libOpenSLES(6037): Leaving Object::GetInterface (SL_RESULT_FEATURE_UNSUPPORTED)
01-15 14:19:33.384: A/libc(6037): jni/native-media-jni.c:409: Java_com_example_nativemedia_NativeMedia_createStreamingMediaPlayer: assertion "XA_RESULT_SUCCESS == res" failed
01-15 14:19:33.384: A/libc(6037): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 6037 (ple.nativemedia)
Run Code Online (Sandbox Code Playgroud)
在加载媒体流(或文件)并创建本机媒体播放器实例的函数中。这些错误非常明确地表明我的设备/解码器、我的操作系统或我的文件类型不支持该功能。我实际上不确定它是哪一个(或组合),但如果它是第一个,则可能意味着没有太多设备支持您想要的功能。也许 Nexus7 是一个异常值,但不幸的是,它仍然在平板电脑领域占据相当大的份额,这意味着我们不能指望其他设备有太大的一致性。
如果有人遵循这些说明并成功运行,请发表评论 - 我将继续对此进行破解并尝试使其正常工作,并将更新任何进展。
| 归档时间: |
|
| 查看次数: |
3280 次 |
| 最近记录: |