def test_queue_play(event_loop): """Test putting a single sound on the queue and then starting the player.""" source = procedural.WhiteNoise(1.0) player = Player() player.on_player_eos = event_loop.interrupt_event_loop player.queue(source) player.play() event_loop.run_event_loop() event_loop.ask_question('Did you hear white noise for 1 second?', screenshot=False)
def test_play_queue(event_loop): """Test playing a single sound on the queue.""" source = synthesis.WhiteNoise(1.0) player = Player() player.on_player_eos = event_loop.interrupt_event_loop player.play() player.queue(source) event_loop.run_event_loop() event_loop.ask_question('Did you hear white noise for 1 second?', screenshot=False)
def test_static_source_wrapping(event_loop): """Test that a sound can be recursively wrappend inside a static source.""" source = procedural.WhiteNoise(1.0) source = StaticSource(source) source = StaticSource(source) player = Player() player.on_player_eos = event_loop.interrupt_event_loop player.queue(source) player.play() event_loop.run_event_loop() event_loop.ask_question('Did you hear white noise for 1 seconds?', screenshot=False)
def test_next_on_end_of_stream(event_loop): """Test that multiple items on the queue are played after each other.""" source1 = procedural.WhiteNoise(1.0) source2 = procedural.Sine(1.0) player = Player() player.on_player_eos = event_loop.interrupt_event_loop player.queue(source1) player.queue(source2) player.play() event_loop.run_event_loop() event_loop.ask_question('Did you hear white noise for 1 second and then a tone at 440 Hz' '(A above middle C)?', screenshot=False)
def test_playback(event_loop, test_data): """Test playing back sound files.""" player = Player() player.on_player_eos = event_loop.interrupt_event_loop player.play() sound = test_data.get_file('media', 'alert.wav') source = pyglet.media.load(sound, streaming=False) player.queue(source) event_loop.run_event_loop() event_loop.ask_question('Did you hear the alert sound playing?', screenshot=False) sound2 = test_data.get_file('media', 'receive.wav') source2 = pyglet.media.load(sound2, streaming=False) player.queue(source2) player.play() event_loop.run_event_loop() event_loop.ask_question('Did you hear the receive sound playing?', screenshot=False)
def play(self): """Play the source. This is a convenience method which creates a Player for this source and plays it immediately. Returns: :class:`.Player` """ from pyglet.media.player import Player # XXX Nasty circular dependency player = Player() player.queue(self) player.play() Source._players.append(player) def _on_player_eos(): Source._players.remove(player) # There is a closure on player. To get the refcount to 0, # we need to delete this function. player.on_player_eos = None player.on_player_eos = _on_player_eos return player