2013-06-20 3 views
0

나는 오디오를 녹음하고 재생하는 Android 앱이 있습니다. 나는 녹음에 문제가있어, 그들은 안드로이드 기본 오디오 플레이어 (내 경우에는 Walkman)에 의해 즉시 인식되지 않습니다. 또한 PC에 전화를 연결할 때 컴퓨터의 탐색기에서 기록을 볼 수 없습니다. 각 녹음을 Media Store에 추가해야합니까? 그렇다면 전체 SD 카드 스캔을 실행하지 않고 기록 자체를 Media Server 데이터베이스에만 포함 시켜서 어떻게해야합니까? 나는 그것을 해결하기 위해 관리했습니다android Media Store에 오디오 (wav 파일) 추가

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory()))); 

답변

0

:

는 제가 생각하기 때문에 아래의 라인이 그래서 이것은 배터리를 소모합니다 스캔 할 전체 SD 카드를 트리거 가능하면 피하려고.

public class MediaScannerWrapper implements MediaScannerConnectionClient { 

    private MediaScannerConnection mConnection; 
    private String mPath; 
    private String mMimeType; 

    public MediaScannerWrapper(Context ctx, String filePath, String mime){ 
     mPath = filePath; 
     mMimeType = mime; 
     mConnection = new MediaScannerConnection(ctx, this); 
    } 

    public void scan(){ 
     mConnection.connect(); 
    } 

    @Override 
    public void onMediaScannerConnected() { 
     mConnection.scanFile(mPath, mMimeType); 
     Log.d(getClass().getName(), "Media file scanned: "+mPath); 
    } 

    @Override 
    public void onScanCompleted(String arg0, Uri arg1) { 
    } 

} 
:

new MediaScannerWrapper(ctx, mostRecentRecording.getFullPath(), "audio/*").scan(); 
ctx.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + PathsHandler.getInstance().getRecordingsDirectory()))); 

"SD card in Android"에서 일부 코드를 잡고 아래 내가 위에서 언급 한 게시물에서 그것을 걸린 MediaScannerWrapper입니다

관련 문제