破手机变儿歌播放器

找到一个触摸屏不能相应触摸,但显示没有问题的手机,写了个小程序,用来给宝宝播放儿歌。

电脑控制手机软件

Total Control http://tc.sigma-rt.com.cn/

应用设为开机启动

manifest.xml文件设置如下:

   <activity
        android:name=".FullscreenActivity"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/app_name"
        android:theme="@style/FullscreenTheme" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category        android:name="android.intent.category.HOME" />
            <category android:name="android.intent.category.DEFAULT" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

横屏

按照下面代码示例修改Activity的onResume方法

@Override
protected void onResume() {
 /**
  * 设置为横屏
  */
     if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){
  setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
 }
 super.onResume();
}

或者在配置文件中对Activity节点添加

android:screenOrientation属性(landscape是横向,   portrait是纵向)
android:launchMode="singleTask"  
  android:screenOrientation="portrait">

屏幕常量

view.setKeepScreenOn(true)

截获系统音量键

// 拦截系统热键
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
int key = event.getKeyCode();
        Log.i(TAG, "[test] dispatchKeyEvent  event = " + event);
    if (key == KeyEvent.KEYCODE_VOLUME_DOWN
        || key == KeyEvent.KEYCODE_VOLUME_UP) {
        Log.i(TAG, "[test] catch  event!! return true! ");
        return true;
    }
    return super.dispatchKeyEvent(event);
}

仅响应按键弹起

 if ( event.getAction()  == KeyEvent.ACTION_DOWN) {

               return true;// only response to key up
           }

文件/文件夹遍历

File f = new File(Environment.getExternalStorageDirectory().getPath()+"/videohome/");
    File[] temp_dirs = f.listFiles();
    int count = 0;
    for(File dir : temp_dirs) {
        if (dir.isDirectory()) {
            count++;
        }
    }
    dirs = new File[count];

    for(File dir : temp_dirs) {
        if (dir.isDirectory()) {
            Log.e("haha",dir.toString());
            dirs[--count] = dir;
        }
    }

生成随机数

(new Random()).nextInt( files.length);

视频播放

this.videoView = (VideoView)this.findViewById(R.id.videoView);
    //videoView.setMediaController(new    MediaController(this));
        final MediaController mc = new MediaController(this);
    mc.setVisibility(View.INVISIBLE);
    mc.setEnabled(false);


    videoView.setMediaController(mc);

     videoView.setVideoURI(Uri.parse(file.toURI().toString()));
    videoView.start();
    videoView.requestFocus();

 videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mp) {
            播放下一首
        }
 }

videoview视频拉伸全屏

 android:layout_alignParentLeft="true"
 android:layout_alignParentRight="true"
 android:layout_alignParentBottom="true"

layout改为RelativeLayout

转载于:https://my.oschina.net/u/936362/blog/709298

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值