当前位置: 首页> 教育> 就业 > Java语言程序设计基础篇_编程练习题16.22(播放、循环播放和停止播放一个音频剪辑)

Java语言程序设计基础篇_编程练习题16.22(播放、循环播放和停止播放一个音频剪辑)

时间:2025/7/21 23:05:31来源:https://blog.csdn.net/2301_78998594/article/details/141182426 浏览次数:0次

题目:16.22(播放、循环播放和停止播放一个音频剪辑)

  编写一个满足下面要求的程序:

  1. 使用AudioClip获取一个音频文件,该文件存放在类目录下。
  2. 放置三个标记为Play、Loop和Stop的按钮,如图16-46a所示。
  3. 单击Play按钮时,会播放该音频一次。单击Loop按钮时,会循环播放音频。单击Stop按钮时,会停止播放该音频。
习题思路
  1. 创建一个HBox,新建三个按钮并放置。
  2. 新建一个AudioClip(AudioClip和Media一样只支持绝对路径),为避免文件错误,相对路径建议使用File转换为绝对路径后再创建AudioClip;或者直接在绝对路径前面添加file:/(推荐)
  3. 当Play按钮按下时播放音频AudioClip.play()
  4. 当Loop按钮按下时把循环次数设为无限(audioClip.setCycleCount(MediaPlayer.INDEFINITE)
  5. 当Stop按钮按下时调用AudioClip的Stop方法(AudioClip没有暂停只有停止)
  • 代码示例 

 编程练习题16_22PlayAudio.java

package chapter_16;import java.io.File;import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.HBox;
import javafx.scene.media.AudioClip;
import javafx.scene.media.MediaPlayer;
import javafx.stage.Stage;public class 编程练习题16_22PlayAudio extends Application{@Overridepublic void start(Stage primaryStage) throws Exception {//方法一/*File mediaFile = new File("src/Music/Coming_Home-Peter_Jeremias.mp3");  String mediaURL = mediaFile.toURL().toString();  if (!mediaURL.startsWith("file:")) {  mediaURL = "file:" + mediaURL;  }  AudioClip audioClip = new AudioClip(mediaURL);*///方法二//AudioClip audioClip = new AudioClip("file:/C:/Users/Lenovo/eclipse-workspace/JavaFX/src/Music/截取.mp3");//可以用一个短的音频来测试LoopAudioClip audioClip = new AudioClip("file:/C:/Users/Lenovo/eclipse-workspace/JavaFX/src/Music/Coming_Home-Peter_Jeremias.mp3");HBox hBox = new HBox(10);hBox.setAlignment(Pos.CENTER);Button btPlay = new Button("Play");Button btLoop = new Button("Loop");Button btStop = new Button("Stop");hBox.getChildren().addAll(btPlay,btLoop,btStop);btPlay.setOnAction(e -> audioClip.play());btLoop.setOnAction(e -> audioClip.setCycleCount(MediaPlayer.INDEFINITE));btStop.setOnAction(e -> audioClip.stop());Scene scene = new Scene(hBox,320, 80);primaryStage.setTitle("编程练习题16_22PlayAudio");primaryStage.setScene(scene);primaryStage.show();}public static void main(String[] args) {Application.launch(args);}
}
  •  结果展示

关键字:Java语言程序设计基础篇_编程练习题16.22(播放、循环播放和停止播放一个音频剪辑)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: