重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
媒体播放器源码Audio.java
从事服务器托管,服务器租用,云主机,网络空间,空间域名,CDN,网络代维等服务。
package org.example.audio;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.KeyEvent;
public class Audio extends Activity {
private MediaPlayer up, down, left, right, enter;
private MediaPlayer a, s, d, f;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Native rate is 44.1kHz 16 bit stereo, but
// to save space we just use MPEG-3 22kHz mono
up = MediaPlayer.create(this, R.raw.up);
down = MediaPlayer.create(this, R.raw.down);
left = MediaPlayer.create(this, R.raw.left);
right = MediaPlayer.create(this, R.raw.right);
enter = MediaPlayer.create(this, R.raw.enter);
a = MediaPlayer.create(this, R.raw.a);
s = MediaPlayer.create(this, R.raw.s);
d = MediaPlayer.create(this, R.raw.d);
f = MediaPlayer.create(this, R.raw.f);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
MediaPlayer mp;
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_UP:
mp = up;
break;
case KeyEvent.KEYCODE_DPAD_DOWN:
mp = down;
break;
case KeyEvent.KEYCODE_DPAD_LEFT:
mp = left;
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:
mp = right;
break;
case KeyEvent.KEYCODE_DPAD_CENTER:
case KeyEvent.KEYCODE_ENTER:
mp = enter;
break;
case KeyEvent.KEYCODE_A:
mp = a;
break;
case KeyEvent.KEYCODE_S:
mp = s;
break;
case KeyEvent.KEYCODE_D:
mp = d;
break;
case KeyEvent.KEYCODE_F:
mp = f;
break;
default:
return super.onKeyDown(keyCode, event);
}
mp.seekTo(0);
mp.start();
return true;
}
}
您好,方法
1、微信小程序是一个免除下载安装直接使用的应用,使用微信【扫一扫】或者是【搜一搜】就可以打开应用。
2、微信小程序如今存在线下扫码、公众号关注、消息通知等多种功能。
3、在微信小程序中,可以向有所了解的技术员寻求帮助。他们会为客户查找微信小程序源码,这样我们就可以看到微信小程序源码了。
4、现如今各大企业项目公司都会培养一些专业的工作人员。他们会运用现有的技术查看源码。
5、查找小程序源码很简单,并且该源码会跟销售产品量成正比关系。
6、如下图,给我们的信息可以告诉我们查看微信小程序源码很有必要且又很有重要性。
7、对于查看微信小程序源码以及它的价值,如下图给与了详细解释。跟客户需求量很有关系。
8、如今网络市场发展十分迅速,微信小程序就是其中一个热门市场点,查看源码就是微信小程序最重要的地方。
可以去微信小程序开发论坛去下载,网站里面有各行各业上千套小程序的源码资源,直接百度搜索微信小程序开发论坛就可以了
微信小程序都是在本地运行的,所以我们可以在我们的手机内存中找到小程序的源码文件。
如果你的手机已经root了,那么可以直接查找/data/data/com.tencent.mm/MicroMsg/.../appbrand/pkg/ 路径中有一段...,这里表示不确定具体一个,一般是很长的数字和字母组成的文件 ,可以先将所有的小程序文件夹删除,然后重新进入你想要的小程序,这样就可以确定是哪个文件了,当然,如果没有root可以使用模拟器来拿,建议还是使用模拟器,更方便一些。
拿到了wxpkg文件,但是我们还差一步,需要将这个文件进行反编译得到内部的各个文件才可以。
wxpkg 是经过微信加密的文件,无法直接通过解压来获得,如果开发比较深入的话,可以直接拿到github的star比较多的wxunpkg ,然后安装运行去解压,如果不是很擅长的话,可以直接使用已经做好的傻瓜式的桌面软件,直接进行反编译处理 。
原理介绍:网页链接
软件获取:网页链接
我的建议还是直接去看下github的源码,了解下反编译原理,然后nodejs语言不擅长可以拿其他的语言来尝试处理下,算是学习也可以。
主界面
这次我的测评希望可以尽可能地避免出现对于设计美感的主观讨论,为了达到这个目标,我特意用 Keynote 制作了三个应用主界面的「原型图」。
通过我做的「原型图」可以看出,三个应用都采用了顶部导航的设计,而其中共有的一个按钮是「添加新项目」这个使用频次最高的功能。其次,「最美时光」和「Daybox」都将「设置」按钮放在了顶部,而「Days Matter」则是将这个按钮放在了接下来我们会谈到的底部导航栏中。除此之外,「最美时光」在顶部设置了一个「更多」按钮,用来展示最美系列的其他应用,「Days Matter」在顶部设置了一个「分类查看」按钮,可以呼出左边侧边栏,用来分类查看不同的倒数日、纪念日。
「最美时光」与「Daybox」仅仅有一个顶部导航,而「Days Matter」则非常复古地添加了一个底部导航栏,这在最近类似的轻应用中是很少见的。具体的功能我们放到后面去分析,至少双导航栏的设计占据了本属于倒数日列表的空间是毋庸置疑的,而且过多的元素排布会分散用户的注意力。
接下来让我们把目光转向主界面最重要的元素——纪念日展示,虽然都是列表的展示,但是仔细观察还是能发现其中的差别的。「Days Matter」与「Daybox」都是采用「一主多次」的排列方案:即给最重要的倒数日最大的展示空间,其他的倒数日则用窄列表排列;而「最美时光」则是采用「一视同仁」的排列方案。这两种方法各有利弊,一句话来说就是在「视线聚焦」与「更多的展示空间」之间做抉择,至于确定哪种方案更好,我的计划是是要调查用户到底需要记多少个倒数日以及倒数日之间到底有没有轻重之分,这个在后面我会设计一个实验来证明。
最后我们要关注的是一个细节,即如何区分「倒数」与「正数」。简单解释一下,在应用中我们一般要记两种日子,一种是倒数,比如「距离 X 的生日还有 XX 天」;另一种是正数,比如「距离我们第一次吃饭已经有 XX 天了」。在应用中如何区分这两种计数方式是我关心的一个点,因为这体现了这款应用是否够严谨。先让我们看「Days Matter」,用「已经」、「还有」两个中文词汇就轻松区分开了两种计数方式,从这点可以明显地看出应用的优势;「最美时光」的方式也很巧妙,用[+]来表示「正数」,没有符号则代表「倒数」,虽然会有一定的学习成本,仍可以算是一个「简约」的方案。表现最差的是「Daybox」,完全没有在这上面下功夫,单单从界面上根本无法区分「正数」与「倒数」,可以说是一个败笔哦。