【问题标题】:Function argument as filename函数参数作为文件名
【发布时间】:2012-06-01 20:37:29
【问题描述】:

将文件添加到 MediaPlayer 很简单:

mp = MediaPlayer.create(Myctivity.this, R.raw.sound);

但是,如果我将文件名作为来自这样的函数的参数呢?

  public void CreateSound(String filename, float volume)
    {
        mp = MediaPlayer.create(Myctivity.this, R.raw.???);
             mp.setVolume(volume, volume);
           try {
            mp.prepare();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
           mp.start();
    }

【问题讨论】:

    标签: android


    【解决方案1】:

    This 线程提及

     int resID=getResources().getIdentifier(fname, "raw", getPackageName());
    

    获取文件名并获取 ID。 (OBS:在使用文件名之前将其转换为小写) 然后可以将其传递给 MediaPlayer:

    MediaPlayer mediaPlayer=MediaPlayer.create(this,resID);
    

    【讨论】:

    • 谢谢!我记得在哪里见过这个,我忘了它
    猜你喜欢
    • 2012-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-16
    • 2016-10-14
    • 2013-03-31
    • 2012-05-29
    • 2014-12-28
    相关资源
    最近更新 更多