Эх сурвалжийг харах

Add Audio::pause. Do not seek to 0 when starting playback -- the Audio::postion() method provides equivalent functionality.

Zachary Kotlarek 13 жил өмнө
parent
commit
ab10192f01
1 өөрчлөгдсөн 14 нэмэгдсэн , 5 устгасан
  1. 14 5
      dmx/Audio.pm

+ 14 - 5
dmx/Audio.pm

@@ -137,11 +137,7 @@ sub background($) {
 	}
 
 	# Start playback
-	my @cmd = ('tell application "QuickTime Player"');
-	push(@cmd, 'set current time of document ' . $FILES{$name}->{'name'} . ' to 0');
-	push(@cmd, 'play document ' . $FILES{$name}->{'name'});
-	push(@cmd, 'end tell');
-	runApplescript(join("\n", @cmd));
+	runApplescript('tell application "QuickTime Player" play document ' . $FILES{$name}->{'name'});
 }
 
 sub playing($) {
@@ -197,6 +193,19 @@ sub rate($$) {
 	return runApplescript('tell application "QuickTime Player" to get rate of document ' . $FILES{$name}->{'name'});
 }
 
+sub pause($) {
+	my ($name) = @_;
+	if ($DEBUG) {
+		print STDERR 'Audio::background(): ' . $name . "\n";
+	}
+	if (!loaded($name)) {
+		die('Invalid QT document: ' . $name . "\n");
+	}
+
+	# Pause playback
+	runApplescript('tell application "QuickTime Player" to pause document ' . $FILES{$name}->{'name'});
+}
+
 sub stop($) {
 	my ($name) = @_;
 	if ($DEBUG) {