向android媒体商店添加音频(wav文件)

向android媒体商店添加音频(wav文件),android,mediastore,android-mediascanner,Android,Mediastore,Android Mediascanner,我有一个Android应用程序,可以录制和播放音频。我的录音有问题,android默认音频播放器无法立即识别这些录音(Walkman)。此外,当我将手机连接到电脑时,电脑浏览器不会看到这些录音。我应该将每个录音添加到媒体存储?如果是,我应该如何做到这一点,不触发整个SD卡扫描,而只将录制本身包括在媒体服务器数据库中 我希望尽可能避免下面的行,因为我认为这会触发整个SD卡进行扫描,从而耗尽电池电量: sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUN

我有一个Android应用程序,可以录制和播放音频。我的录音有问题,android默认音频播放器无法立即识别这些录音(
Walkman
)。此外,当我将手机连接到电脑时,电脑浏览器不会看到这些录音。我应该将每个录音添加到
媒体存储
?如果是,我应该如何做到这一点,不触发整个
SD
卡扫描,而只将录制本身包括在
媒体服务器
数据库中

我希望尽可能避免下面的行,因为我认为这会触发整个
SD
卡进行扫描,从而耗尽电池电量:

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

我已经设法解决了。从“”中获取了一些代码

下面是我从上面提到的帖子中获取的MediaScannerWrapper:

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) {
    }

}
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) {
    }

}