小编JRC*_*JRC的帖子

Android:Mediaplayer:如何使用SurfaceView或mediaplayer播放正确大小的视频

我正在使用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用法如下所示

http://davanum.wordpress.com/2007/12/29/android-videomusic-player-sample-from-local-disk-as-well-as-remote-urls/

提前致谢.

android media-player

19
推荐指数
3
解决办法
6万
查看次数

如何将RGB565缓冲区加载到ImageView

我有文件"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.

android imageview

7
推荐指数
1
解决办法
8424
查看次数

如何知道我的申请的活动计数?

我在我的应用程序中有多个活动.请考虑以下案例......

活动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 ...我对此不满意,因为我没有跟踪任何其他应用程序数据/活动计数.

如何解决这个问题?有没有其他方法来实现这一目标?

编辑 如何知道自己的应用程序的活动数?

android android-activity

5
推荐指数
1
解决办法
4660
查看次数

在linux/c中快速打开数千个文件

我正在做SDCARD扫描仪扫描每个文件夹和图像文件.

我正在使用C代码并使用opendir,readdir,fopen API来枚举目录和文件打开.我有直接的,DIR变量.

问题是fopen()占用太多时间(10000个文件为300秒),而导演遍历需要大约25秒.

是否有任何API允许我加速文件打开操作,使用handle,dir_ino或类似的,以便我可以使用目录句柄或类似打开文件.

到目前为止,我已经尝试使用dirent-> dir_ino,DIR*,但没有运气.

我正在寻找低级api,它花费的时间少于fopen.

编辑将fts和ftw apis有用吗?它们似乎只与遍历目录有关...任何其他黑客或方法?

c file-io android

5
推荐指数
1
解决办法
495
查看次数

如何避免活动史

我共有3项活动.第一活动(A)开始第二活动(B).从活动B,调用第3个活动(C).

活动B,显示带有复选框的列表以选择项目和单个确定按钮.单击"确定"按钮时,将选择"活动C".

当用户单击活动C中的BACK按钮时,默认情况下会显示活动B(带选中的复选框).

我想在活动C中单击BACK按钮时显示活动A.

怎么实现呢?

我已将Activity C中的OnKeyDown()处理为startactivity(A).这是工作.但是,当用户单击活动A上的"返回"按钮时,将再次显示"活动C".申请应该结束.

在这个方向上如何跳过活动B?

提前致谢,

JRC

android button back

1
推荐指数
1
解决办法
1489
查看次数

标签 统计

android ×5

android-activity ×1

back ×1

button ×1

c ×1

file-io ×1

imageview ×1

media-player ×1