我正在使用MediaPlayer和SurfaceView播放本地视频文件.SurfaceView是活动中唯一的控件,而我的视频文件是QVGA或其他.问题是视频正在变得拉长,我如何以原始大小播放视频,例如qvga,其余区域为黑色.
从迭代开始,
当我在XML中强制设置Surfaceview的layout_height/width时,视频显示正常.
surface_holder.setFixedSize(w,h)没有效果,也没有mp.setdisplay().
请指导一下.
UPDATE
XML flie
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/home_container"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<SurfaceView
android:id="@+id/surface"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="10dip" />
</framelayout>
Run Code Online (Sandbox Code Playgroud)
MediaPlayer用法如下所示
提前致谢.
我有文件"Image_RGB565.raw",其中包含RGB565格式的图像缓冲区.我希望这个图像显示在ImageView中.没有额外的转换为RGB888的代码是否可能?
我试过了
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inPreferredConfig = Bitmap.Config.RGB_565;
Bitmap bitmap = BitmapFactory.decodeFile("Image_001_RGB565.raw");
但位图为空.
然后我也尝试使用bytearray加载
BitmapFactory.Options opt = new BitmapFactory.Options(); opt.inPreferredConfig = Bitmap.Config.RGB_565; Bitmap bitmap = BitmapFactory.decodeFile(decodeByteArray(data, 0, data.length, opt);
请指导我改正方向.我的图片尺寸为160x160.
我在我的应用程序中有多个活动.请考虑以下案例......
活动A调用Acitivy B.B呼叫C.当用户按下后退键C生成通知并进入B.现在再次按下,这样A将显示,再次返回键也将终止A并显示通知...现在,当用户按下通知图标时,活动C被加载....直到这部分行为正确....现在用户按下,我使用我的代码启动活动A,因为C是从通知加载的.
另一个案例活动A调用Acitivy B.B调用C.当用户按下键C时,生成通知并进入B.现在用户按下HOME KEY.然后经过一段时间选择通知图标,它将显示活动C.现在用户按下返回键,默认情况下它显示活动B(我想要的)....但是我的代码(作为C从通知中加载)... im显示活动A(n用户按下然后显示活动B).
我想知道我自己的应用程序的活动计数,这样我就可以避免执行我的代码来启动活动A(如果它不是1).
到目前为止,我已使用以下代码完成此操作
ActivityManager actM = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> listm = actM.getRunningTasks(1);
int iNumActivity = listm.get(0).numActivities;
Run Code Online (Sandbox Code Playgroud)
但是使用此代码需要使用权限GET_TASKS ...我对此不满意,因为我没有跟踪任何其他应用程序数据/活动计数.
如何解决这个问题?有没有其他方法来实现这一目标?
编辑 如何知道自己的应用程序的活动数?
我正在做SDCARD扫描仪扫描每个文件夹和图像文件.
我正在使用C代码并使用opendir,readdir,fopen API来枚举目录和文件打开.我有直接的,DIR变量.
问题是fopen()占用太多时间(10000个文件为300秒),而导演遍历需要大约25秒.
是否有任何API允许我加速文件打开操作,使用handle,dir_ino或类似的,以便我可以使用目录句柄或类似打开文件.
到目前为止,我已经尝试使用dirent-> dir_ino,DIR*,但没有运气.
我正在寻找低级api,它花费的时间少于fopen.
编辑将fts和ftw apis有用吗?它们似乎只与遍历目录有关...任何其他黑客或方法?
我共有3项活动.第一活动(A)开始第二活动(B).从活动B,调用第3个活动(C).
活动B,显示带有复选框的列表以选择项目和单个确定按钮.单击"确定"按钮时,将选择"活动C".
当用户单击活动C中的BACK按钮时,默认情况下会显示活动B(带选中的复选框).
我想在活动C中单击BACK按钮时显示活动A.
怎么实现呢?
我已将Activity C中的OnKeyDown()处理为startactivity(A).这是工作.但是,当用户单击活动A上的"返回"按钮时,将再次显示"活动C".申请应该结束.
在这个方向上如何跳过活动B?
提前致谢,
JRC