看到一个示例:代码我不COPY了。问题:private MIDIPlayer m_MIDIPlayer=null;小弟,水平低浅,在DOCS里也没找到个所以然来 。帮忙说说MIDIPlayer.感激不尽。
解决方案 »
- android 显示本地html,js和css文件应该放在什么目录下 在线等
- 请问如何用openGL es把一张左右格式的图片像素列交错显示,实现裸眼3D的效果?
- android EditView 和 TextView 内容中插入图片
- 显示对话框时背景会出现一条没遮住的地方...怎么回事?
- Android的JNI编程中怎么用C去写鼠标点击、移动等事件呢
- 一个奇怪的错误
- 有了url分页地址,如何实现listview分页显示
- 嵌入式to移动互联网(安卓)
- Android的Socket是全双工(同时收发数据)的吗?
- android 获取 签名证书的MD5的代码
- tabactivity 中怎么设置直接显示的选项卡的数量?
- 请问大家,如何用代码修改一个android应用程序在桌面的图标呢
private MIDIPlayer m_MIDIPlayer=null;
从你的代码里看肯定是有的啊!Android分phone 和 mid 2个版本的 也不能说2个版本 大家通常用phone开发 不把mid链接进去
源码中有 在policy下
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.TextView;public class Activity01 extends Activity {
private MIDIPlayer m_MIDIPlayer=null;
private boolean m_Music=false;
private TextView m_TextView=null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
m_TextView=(TextView)findViewById(R.id.TextView01);
m_MIDIPlayer=new MIDIPlayer(this);
/*读取文件数据*/
load();
if (m_Music){
m_TextView.setText("当前音乐状态:开");
m_Music=true;
m_MIDIPlayer.PlayMusic();
}
else{
m_TextView.setText("当前音乐状态:关");
}
}
public boolean onKeyUp(int keyCode,KeyEvent event){
switch (keyCode){
case KeyEvent.KEYCODE_DPAD_UP:
m_TextView.setText("当前音乐状态:开");
m_Music=true;
m_MIDIPlayer.PlayMusic();
break;
case KeyEvent.KEYCODE_DPAD_DOWN:
m_TextView.setText("当前音乐状态:关");
m_Music=false;
m_MIDIPlayer.FreeMusic();
break;
}
return true;
}
public boolean onKeyDown(int keyCode,KeyEvent event){
if (keyCode==KeyEvent.KEYCODE_BACK){
/*退出应用程序时保存数据*/
save();
if (m_Music){
m_MIDIPlayer.FreeMusic();
}
this.finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
/*装载、读取数据*/
void load(){
//构建Properties对象
Properties properties=new Properties();
try{
//开发文件
FileInputStream stream=this.openFileInput("music.cfg");
//读取文件内容
properties.load(stream);
}
catch(FileNotFoundException e){
return;
}
catch(IOException e){
return;
}
/*取得数据*/
m_Music=Boolean.valueOf(properties.get("b_Music").toString());
}
/*保存数据*/
boolean save(){
Properties properties=new Properties();
//将数据包打成Properties
properties.put("b_Music", String.valueOf(m_Music));
try{
FileOutputStream stream=this.openFileOutput("music.cfg", Context.MODE_WORLD_WRITEABLE);
//将打包好的数据写入文件中
properties.store(stream, "");
}
catch(FileNotFoundException e){
return false;
}
catch(IOException e){
return false;
}
return true;
}
}
呵呵,麻烦,你帮我看看。我也认为有。
可我懂的不多。也找了SDK的DOCS。在里面居然没找到。
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.TextView;public class Activity01 extends Activity {
private MIDIPlayer m_MIDIPlayer=null;
private boolean m_Music=false;
private TextView m_TextView=null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
m_TextView=(TextView)findViewById(R.id.TextView01);
m_MIDIPlayer=new MIDIPlayer(this);
/*读取文件数据*/
load();
if (m_Music){
m_TextView.setText("当前音乐状态:开");
m_Music=true;
m_MIDIPlayer.PlayMusic();
}
else{
m_TextView.setText("当前音乐状态:关");
}
}
public boolean onKeyUp(int keyCode,KeyEvent event){
switch (keyCode){
case KeyEvent.KEYCODE_DPAD_UP:
m_TextView.setText("当前音乐状态:开");
m_Music=true;
m_MIDIPlayer.PlayMusic();
break;
case KeyEvent.KEYCODE_DPAD_DOWN:
m_TextView.setText("当前音乐状态:关");
m_Music=false;
m_MIDIPlayer.FreeMusic();
break;
}
return true;
}
public boolean onKeyDown(int keyCode,KeyEvent event){
if (keyCode==KeyEvent.KEYCODE_BACK){
/*退出应用程序时保存数据*/
save();
if (m_Music){
m_MIDIPlayer.FreeMusic();
}
this.finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
/*装载、读取数据*/
void load(){
//构建Properties对象
Properties properties=new Properties();
try{
//开发文件
FileInputStream stream=this.openFileInput("music.cfg");
//读取文件内容
properties.load(stream);
}
catch(FileNotFoundException e){
return;
}
catch(IOException e){
return;
}
/*取得数据*/
m_Music=Boolean.valueOf(properties.get("b_Music").toString());
}
/*保存数据*/
boolean save(){
Properties properties=new Properties();
//将数据包打成Properties
properties.put("b_Music", String.valueOf(m_Music));
try{
FileOutputStream stream=this.openFileOutput("music.cfg", Context.MODE_WORLD_WRITEABLE);
//将打包好的数据写入文件中
properties.store(stream, "");
}
catch(FileNotFoundException e){
return false;
}
catch(IOException e){
return false;
}
return true;
}
}呵呵,拜托了。DOCS里没找到。我对源码不感冒,水平低了。搞不凌清。
你要看源码的 framework/policy/....具体我忘记了 我不在办公室看不了源码我不是做应用的 所以没用过SDK 我一直作系统
import java.io.IOException;import android.content.Context;
import android.media.MediaPlayer;public class MIDIPlayer
{
public MediaPlayer playerMusic = null;
private Context mContext = null;
public MIDIPlayer(Context context)
{
mContext = context;
} /* 播放音乐 */
public void PlayMusic()
{
/* 装载资源中的音乐 */
playerMusic = MediaPlayer.create(mContext, R.raw.start);
/* 设置是否循环 */
playerMusic.setLooping(true);
try
{
playerMusic.prepare();
}
catch (IllegalStateException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
playerMusic.start();
} /* 停止并释放音乐 */
public void FreeMusic()
{
if (playerMusic != null)
{
playerMusic.stop();
playerMusic.release();
}
}
}