试图保存为铃声

时间:2011-10-26 09:05:39

标签: android spinner ringtone

我有一些可以从微调器中选择和播放的声音。而且我也希望能够将它们保存为铃声,但这部分代码不起作用。我做错了什么?

        private View.OnClickListener onSave = new View.OnClickListener() {      
        public void onClick(View v) {                   
        public boolean saveas(int ressound){  
            byte[] buffer=null;  
            InputStream fIn = getBaseContext().getResources().openRawResource(ressound);  
            int size=0;  

            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=rutaActual+".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, rutaActual);  
            values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/ogg");  
            values.put(MediaStore.Audio.Media.ARTIST, "unknown ");  
            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);  

            this.getContentResolver().insert(MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath()), values);                                  
            return true;  
           }  

    }
};

0 个答案:

没有答案