2011-02-05 8 views
0

に設定していますので、コードを覚えようとしています。私はそれらのサウンドボードの1つを作ることにしました。以来、私は自分の携帯電話でそれらを持っているのが好きです。私はこれらのソースコードを探しています。私は、サウンドボードプロジェクトの主要なソースコードを見つけました。そして、これは他の人が話す主なものです。次に、サウンドボードでサウンドを着信音と通知として設定する方法を学びたいと思っていました。私は何時間もグーグルで働いていて、私のために働かない同じコードに走っています。私は、音を着メロ、または何かに設定するためのコードを理解することはできません。私は運がなくてもゼロから試しました。着メロや着信音をAndroidアプリで

このトピックでは他に何かを見つけることができません。私を助けてください、私はすべて同じ情報を見つけるためにただグーグルで出かけました。

サウンドボードをプログラムして、サウンドを着信音や通知としてAndroid/javaに設定したいと考えています。

ありがとうございました。

私はいくつかのコードを置くべきだと思います。 :) - 私はこれが簡単だと知っていますが、それは私にこのような苦労を与え、本当にこの部分を知りたいのです。メニューは表示されますが、それはsdcardファイルに保存されません。私はちょうどjava /アンドロイドで何が起きているのかわからない。私のPHP男、すべての助けのためのタイ

  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;} 

}

答えて

2

サウンドファイルを.oggから.mp3に変換してみてください。メディアプレーヤーは私の経験から.oggファイルを再生することができません。あなたはそれが動作するはずだと修正した場合。

0

権限(データストレージのアクセス許可が必要な場合があります)に関係する可能性があります。

+1

これはコメントです。 –

関連する問題