看到一个示例:代码我不COPY了。问题:private MIDIPlayer m_MIDIPlayer=null;小弟,水平低浅,在DOCS里也没找到个所以然来 。帮忙说说MIDIPlayer.感激不尽。
解决方案 »
- 菜鸟问题,替换了res/drawable 下的文件(play.png),再运行图片还是没变
- 关于android客户端与服务器端交互的问题
- android.intent.action.DATE_CHANGED
- 图片缩略图在文件夹上显示
- webview 的问题
- 求linux c RGB565数据存成BMP文件例子
- 大家自己写的APP,放到市场上,后端一般用放在哪里?
- android模拟器开启不了怎么办。
- 求助,Android开发中litepal数据操作,更新数据问题
- Android学习该如何快速入门???
- 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();
}
}
}