文档章节

破手机变儿歌播放器

开源中国首席辣条代理
 开源中国首席辣条代理
发布于 2016/07/10 20:30
字数 358
阅读 50
收藏 4

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

电脑控制手机软件

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

© 著作权归作者所有

开源中国首席辣条代理

开源中国首席辣条代理

粉丝 11
博文 4
码字总数 921
作品 1
深圳
程序员
私信 提问
全网稀缺的快应用开源项目-熊宝儿歌故事QuickApp

熊宝儿歌故事QuickApp 熊宝儿歌故事基于快应用技术开发,且小程序版已经上线欢迎大家体验,由于快应用推出时间不久,网络上关于快应用的资料少之又少,本人也因公司需求进行开发,一路上踩坑...

李帅醒
2018/11/23
0
0
我手机变砖听说安卓sd卡的zip格式的解压后的压缩包可以在手机里自动安装恢复系统是真的吗?

@华宰 你好,想跟你请教个问题:我手机变砖听说安卓sd卡的zip格式的解压后的压缩包可以在手机里自动安装恢复系统是真的吗?

逍遥浪子蒲
2015/03/22
91
0
我手机变砖听说安卓sd卡的zip格式的解压后的压缩包可以在手机里自动安装恢复系统是真的吗?

@华宰 你好,想跟你请教个问题:我手机变砖听说安卓sd卡的zip格式的解压后的压缩包可以在手机里自动安装恢复系统是真的吗?

逍遥浪子蒲
2015/03/22
365
8
中华字经 正闻学堂 全球读经教育交流网

中华字经国际书院 有部分闪卡资源 《中华字经》注音、注释、朗读(一) 《中华字经》注音、注释、朗读(二) 中华字经》班教学心得 教子相长记:妞妞的胎教 全天候播放中文经典读诵和古琴音乐...

圣洁之子
03/08
0
0
支持中文的智能音箱--XueBao

支持中文的智能音箱,能够听懂你的命令,通过语音控制一切。 原始代码复制自 http://jasperproject.github.io/ branch:jasper-dev,并做了很多修改,具体有: 原先的 Jasper 只支持最老版本...

匿名
2016/07/19
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
30分钟前
2
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
6
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
8
0
详解箭头函数和普通函数的区别以及箭头函数的注意事项、不适用场景

箭头函数是ES6的API,相信很多人都知道,因为其语法上相对于普通函数更简洁,深受大家的喜爱。就是这种我们日常开发中一直在使用的API,大部分同学却对它的了解程度还是不够深... 普通函数和...

OBKoro1
昨天
7
0
轻量级 HTTP(s) 代理 TinyProxy

CentOS 下安装 TinyProxy yum install -y tinyproxy 启动、停止、重启 # 启动service tinyproxy start# 停止service tinyproxy stop# 重启service tinyproxy restart 相关配置 默认...

Anoyi
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部