use of org.odk.collect.audioclips.Clip in project collect by opendatakit.
the class PromptAutoplayerTest method whenPromptHasAutoplayAudio_andIsSelectOne_playsAudioInOrder.
@Test
public void whenPromptHasAutoplayAudio_andIsSelectOne_playsAudioInOrder() {
FormEntryPrompt prompt = new MockFormEntryPromptBuilder().withControlType(Constants.CONTROL_SELECT_ONE).withAudioURI(REFERENCES.get(0).first).withAdditionalAttribute("autoplay", "audio").withSelectChoices(asList(new SelectChoice("1", "1"), new SelectChoice("2", "2"))).withSpecialFormSelectChoiceText(asList(new Pair<>(FormEntryCaption.TEXT_FORM_AUDIO, REFERENCES.get(1).first), new Pair<>(FormEntryCaption.TEXT_FORM_AUDIO, REFERENCES.get(2).first))).build();
assertThat(autoplayer.autoplayIfNeeded(prompt), equalTo(true));
verify(audioHelper).playInOrder(asList(new Clip(prompt.getIndex().toString(), REFERENCES.get(0).second), new Clip(prompt.getIndex().toString() + " 0", REFERENCES.get(1).second), new Clip(prompt.getIndex().toString() + " 1", REFERENCES.get(2).second)));
}
use of org.odk.collect.audioclips.Clip in project collect by opendatakit.
the class PromptAutoplayerTest method whenPromptHasAutoplayAudio_andIsSelectOne_butNoSelectChoiceAudio_playsPromptAudio.
@Test
public void whenPromptHasAutoplayAudio_andIsSelectOne_butNoSelectChoiceAudio_playsPromptAudio() throws Exception {
FormEntryPrompt prompt = new MockFormEntryPromptBuilder().withControlType(Constants.CONTROL_SELECT_ONE).withAudioURI(REFERENCES.get(0).first).withAdditionalAttribute("autoplay", "audio").withSelectChoices(asList(new SelectChoice("1", "1"), new SelectChoice("2", "2"))).build();
assertThat(autoplayer.autoplayIfNeeded(prompt), equalTo(true));
verify(audioHelper).playInOrder(asList(new Clip(prompt.getIndex().toString(), REFERENCES.get(0).second)));
}
use of org.odk.collect.audioclips.Clip in project collect by opendatakit.
the class AudioButtonIntegrationTest method canPlayAndStopAudio.
@Test
public void canPlayAndStopAudio() throws Exception {
String testFile = File.createTempFile("audio", ".mp3").getAbsolutePath();
final DataSource dataSource = setupMediaPlayerDataSource(testFile);
AudioButton button = new AudioButton(activity);
audioHelper.setAudio(button, new Clip("clip1", testFile));
assertThat(button.isPlaying(), equalTo(false));
button.performClick();
assertThat(mediaPlayer.isPlaying(), is(true));
assertThat(shadowOf(mediaPlayer).getDataSource(), equalTo(dataSource));
assertThat(button.isPlaying(), equalTo(true));
button.performClick();
assertThat(mediaPlayer.isPlaying(), is(false));
assertThat(button.isPlaying(), equalTo(false));
}
use of org.odk.collect.audioclips.Clip in project collect by opendatakit.
the class AudioButtonIntegrationTest method playingAudio_stopsOtherAudio.
@Test
public void playingAudio_stopsOtherAudio() throws Exception {
String testFile1 = File.createTempFile("audio1", ".mp3").getAbsolutePath();
String testFile2 = File.createTempFile("audio2", ".mp3").getAbsolutePath();
setupMediaPlayerDataSource(testFile1);
final DataSource dataSource2 = setupMediaPlayerDataSource(testFile2);
AudioButton button1 = new AudioButton(activity);
audioHelper.setAudio(button1, new Clip("clip1", testFile1));
AudioButton button2 = new AudioButton(activity);
audioHelper.setAudio(button2, new Clip("clip2", testFile2));
button1.performClick();
button2.performClick();
assertThat(mediaPlayer.isPlaying(), is(true));
assertThat(shadowOf(mediaPlayer).getDataSource(), equalTo(dataSource2));
assertThat(button2.isPlaying(), equalTo(true));
assertThat(button1.isPlaying(), equalTo(false));
}
use of org.odk.collect.audioclips.Clip in project collect by opendatakit.
the class AudioButtonIntegrationTest method destroyingLifecycle_releaseMediaPlayer.
@Test
public void destroyingLifecycle_releaseMediaPlayer() throws Exception {
String testFile1 = File.createTempFile("audio1", ".mp3").getAbsolutePath();
setupMediaPlayerDataSource(testFile1);
AudioButton button = new AudioButton(activity);
audioHelper.setAudio(button, new Clip("clip1", testFile1));
fakeLifecycleOwner.destroy();
assertThat(shadowOf(mediaPlayer).getState(), equalTo(ShadowMediaPlayer.State.END));
}
Aggregations