简体   繁体   English

Android无法播放res / raw文件夹中的wav文件

[英]Android can't play a wav file in my res/raw folder

I'm building an android app. 我正在构建一个Android应用程序。 And I just want to play a wav file if it exists in my /res/raw folder. 我只想播放一个wav文件(如果它存在于我的/ res / raw文件夹中)。 The following code does not work because the f.exists() always evaluates to false: 由于f.exists()始终为false,因此以下代码不起作用:

    String filePathString = "android.resource://"+_context.getPackageName()+"/res/raw/oldphone_mono.wav";
    File f = new File(filePathString);

    java.io.InputStream inputStream = _context.getResources().openRawResource(com.hello20.R.raw.oldphone_mono);


    if(f.exists()) {

        Uri ringUri = Uri.parse(filePathString);

        _ring = new MediaPlayer();
        _ring.setDataSource(_context, ringUri);

        final AudioManager audioManager = (AudioManager) _context.getSystemService(Context.AUDIO_SERVICE);
        if (audioManager.getStreamVolume(AudioManager.STREAM_RING) != 0) {
            _ring.setAudioStreamType(AudioManager.STREAM_RING);
            _ring.setLooping(true);
            _ring.prepare();
            _ring.start();
        }

What else should I do to make this work? 我还应该做些什么才能使这项工作?

Try to load wav by other way: 尝试通过其他方式加载wav:

 _ring=MediaPlayer.create(_context,R.raw.oldphone_mono);
 _ring.start();
 _ring.setLooping( true );

Comment 1 评论1

You don't need in my case to use _ring.prepare(); 在我的情况下,您不需要使用_ring.prepare(); . MediaPlayer.create takes care about MediaPlayer.create关心

Comment 2 评论2

Further, since you load wav resource from raw, you don't need if(f.exists()) statemant 此外,由于您是从raw加载WAV资源,因此不需要if(f.exists())

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Android代码播放位于res / raw中的.wav文件-奇怪的错误 - Android code to play .wav files located in res/raw - weird errors Android 4.2 sdk-Nexus 7-res / raw中的mp4-没有此类文件-无法播放视频 - Android 4.2 sdk - Nexus 7 - mp4 in res/raw - No such file - Can't play video Android-更新res / raw文件夹中的文件 - Android - update a file in res/raw folder 如何在我的Android应用程序的res / raw文件夹中播放mp3? - How do I play an mp3 in the res/raw folder of my android app? 播放保存在Android Phonegap上/ res或/ raw文件夹中的mp3文件 - Play mp3 files saved in the /res or /raw folder on Android Phonegap 无法播放android中原始文件夹中的mp3文件 - can not play mp3 file from raw folder in android 无法读取存储在res / raw中的文件 - Can't read file stored in res/raw 从我的res / raw文件夹中下载(复制?)文件到默认的Android下载位置? - Download(copy?) a file from my res/raw folder to the default Android download location? 如何保护我的 Android 应用程序 APK 的 ..res/raw/ 文件夹中的视频? - How can I protect videos in the ..res/raw/ folder of my Android app's APK? Android MediaPlayer无法播放原始文件夹中的wav文件(Android Lollipop) - Android MediaPlayer not playing wav file from raw folder (Android Lollipop)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM