因为,即时尝试学习代码。我决定制作其中的一个音板。因为,我喜欢在手机上使用它们。我一直在搜索这些源代码。我找到了一个soundboard项目的主要源代码。而且,这似乎是其他人都在谈论的主要问题。然后,我想学习如何在音板上设置铃声作为铃声,并通知。我一直在Google上搜索几个小时,并遇到了不适合我的相同代码。我找不出将声音设置为铃声的代码,或其他任何东西。我甚至从头开始尝试,没有运气。设置声音作为铃声或通知在Android应用程序
我在这个主题上找不到其他东西。请帮助我,并且所有的搜索结果都只是为了找到相同的信息。
我想能够编程一个音板来设置声音作为铃声或android/java中的通知。
谢谢。
我想我应该把一些代码,我想。 :) - 我知道这很简单,但它给了我这么难的时间,并且id很想知道这部分。该菜单确实出现了,但不保存到SD卡文件中。我只是不知道在java/android中发生了什么。即时通讯一个PHP的家伙,TY所有帮助
Button btn = (Button) findViewById(R.id.sound1);
registerForContextMenu(btn);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Set as...");
menu.add(0, v.getId(), 0, "Ringtone");
menu.add(0, v.getId(), 0, "Notification");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
if(item.getTitle()=="Ringtone"){function1(item.getItemId());}
else if(item.getTitle()=="Notification"){function2(item.getItemId());}
else {return false;}
return true;
}
public void function1(int id){
Toast.makeText(this, "Ringtone Saved", Toast.LENGTH_SHORT).show();
}
public void function2(int id){
Toast.makeText(this, "Notification Saved", Toast.LENGTH_SHORT).show();
}
boolean saveas(int sound1){
byte[] buffer=null;
InputStream fIn = getBaseContext().getResources().openRawResource(sound1);
int size=36462;
try {
size = fIn.available();
buffer = new byte[size];
fIn.read(buffer);
fIn.close();
} catch (IOException e) {
// TODO Auto-generated catch block
return false;
}
String path="/sdcard/media/audio/ringtones/";
String filename="sound1.ogg";
boolean exists = (new File(path)).exists();
if (!exists){new File(path).mkdirs();}
FileOutputStream save;
try {
save = new FileOutputStream(path+filename);
save.write(buffer);
save.flush();
save.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
return false;
} catch (IOException e) {
// TODO Auto-generated catch block
return false;
}
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://"+path+filename)));
File k = new File(path, filename);
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, "sound1");
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/ogg");
values.put(MediaStore.Audio.Media.ARTIST, "we");
values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);
values.put(MediaStore.Audio.Media.IS_ALARM, true);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);
//Insert it into the database
this.getContentResolver().insert(MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath()), values);
return false;}
};
这应该是评论它没有回答 – 2012-10-27 19:11:52