从活动到要使用SoundPool播放的其他活动的原始资源

时间:2017-06-05 14:02:13

标签: java android soundpool

这是我的项目:

活动1

    int ThePlayedSound= R.raw.Sound_ID;

    Intent MyIntent= new Intent(this, Main2Activity.class);
           MyIntent.putExtra("key",ThePlayedSound);
    startActivity(MyIntent);

活动2

我想使用声音池播放原始源使用单击按钮,所以:

    Intent MyIntent=getIntent();
    int ThePlayedSound= MyIntent.getIntExtra("key", 0);

    Sound_Pool_thing= new SoundPool(1, AudioManager.STREAM_MUSIC,0);
    Click = Sound_Pool_thing.load(this,ThePlayedSound , 1);

    button=(Button)findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Sound_Pool_thing.play(Click,1,1,1,0,1);

        }
    });

编辑: 当我尝试打开应用程序时,我很遗憾,My_App已停止

我无法弄清楚..帮助=)

编辑添加第二个活动的完整代码

public class Main2Activity extends AppCompatActivity {
    Button button;
    SoundPool Sound_Pool_thing;
    int Click;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity2_main);

        Intent MyIntent=getIntent();
        int ThePlayedSound= MyIntent.getIntExtra("key", 0);

        Sound_Pool_thing= new SoundPool(1, AudioManager.STREAM_MUSIC,0);

        Click = Sound_Pool_thing.load(this,ThePlayedSound , 1);

        button=(Button)findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Sound_Pool_thing.play(Click,1,1,1,0,1);

            }
        });

    }
}

1 个答案:

答案 0 :(得分:0)

@Claudenix,我想问题是你的文件名用于声音文件,即Sound_ID。

int ThePlayedSound = R.raw.Sound_ID;

尝试以小写形式重命名原始文件夹中的文件,例如: - “sound_id”

希望这有帮助。