当前位置: 首页 > news >正文

个人网页设计图片素材网新网站前期seo怎么做

个人网页设计图片素材网,新网站前期seo怎么做,网站建设套餐128000,跨境电商主要平台有哪些文章目录 一、路径注意事项:① 用相对路径的时候别忘了前面的斜杠② uri问题 二、播放不了的问题① 获取的媒体文件路径本身就是不对的② 必须是uri③ 特殊情况 额外收获: 一、路径注意事项: 完整代码如下: import javafx.application.Application; im…

文章目录

  • 一、路径注意事项:
    • ① 用相对路径的时候别忘了前面的斜杠
    • ② uri问题
  • 二、播放不了的问题
    • ① 获取的媒体文件路径本身就是不对的
    • ② 必须是uri
    • ③ 特殊情况
  • 额外收获:

一、路径注意事项:

完整代码如下:

import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.GridPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.stage.Stage;
import java.io.IOException;
import java.net.URI;
import java.nio.file.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;public class Main extends Application {@Overridepublic void start(Stage primaryStage) throws Exception{primaryStage.setTitle("BA怪叫器雏形版");// 创建上下两个部分的布局BorderPane borderPane = new BorderPane();// 上部分用于展示图片的ImageView,放置在一个StackPane中ImageView imageView = new ImageView();imageView.setFitWidth(300); // 宽度占30%imageView.setFitHeight(300); // 高度占80%borderPane.setCenter(imageView);// 下部分用于放置按钮的GridPaneGridPane gridPane = new GridPane();gridPane.setAlignment(Pos.CENTER);gridPane.setHgap(15);gridPane.setVgap(20);// 创建9个带图片的按钮,并指定不同的图片和音频for (int i = 0; i < 15; i++) {Button button = createImageButton(i,imageView);int row = i / 5;int col = i % 5;gridPane.add(button, col, row);}borderPane.setBottom(gridPane);// 创建场景并显示Scene scene = new Scene(borderPane, 600, 700);primaryStage.setScene(scene);primaryStage.getIcons().add(new Image("/img/cover.jpg"));primaryStage.show();}// 创建带图片的按钮,并添加事件处理程序private Button createImageButton(int index,ImageView mainImage) {String[] imagePaths = {"/img/fox.jpg", "/img/xiaotao1.png", "/img/xingye.jpg","/img/fox.jpg","/img/fox.jpg", "/img/fox.jpg", "/img/fox.jpg","/img/fox.jpg","/img/fox.jpg", "/img/fox.jpg", "/img/fox.jpg","/img/fox.jpg","/img/fox.jpg", "/img/fox.jpg", "/img/fox.jpg","/img/fox.jpg"};Image image = new Image(imagePaths[index]);ImageView imageView = new ImageView(image);imageView.setFitWidth(50);imageView.setFitHeight(50);Button button = new Button("", imageView);button.setOnAction(event -> {String folderPath="";if (index==0) {folderPath="/audio/fox1";}else if (index==1){folderPath= "/audio/xiaotao";}else if (index==2){folderPath= "/audio/xingye";}List<String> filePaths=new ArrayList<>();//这里用于调试String uri=getClass().getResource(folderPath).toString();try (DirectoryStream<Path> directoryStream = Files.newDirectoryStream(Paths.get(getClass().getResource(folderPath).toString().substring(6)))) {for (Path path : directoryStream) {if (Files.isRegularFile(path)) {filePaths.add(path.toString());System.out.println("文件路径: " + path.toString());}}}  catch (NoSuchFileException e) {System.out.println("指定的文件夹不存在:" + e.getMessage());} catch (IOException e) {System.out.println("无法读取文件夹: " + e.getMessage());}// 当按钮点击时,更新上部ImageView的图片mainImage.setImage(image);Random random=new Random();int audioIndex=random.nextInt(filePaths.size());// 播放MP3音频String audioFilePath = filePaths.get(audioIndex);audioFilePath = audioFilePath.replace("\\", "/");try {URI audioUri = Paths.get(audioFilePath).toUri();Media media = new Media(audioUri.toString());MediaPlayer mediaPlayer = new MediaPlayer(media);//添加一个setOnReady()事件监听器来确保音频文件在准备好之后再进行播放mediaPlayer.setOnReady(() -> {mediaPlayer.play();});} catch (Exception e) {e.printStackTrace();}});return button;}public static void main(String[] args) {launch(args);}
}

① 用相对路径的时候别忘了前面的斜杠

请添加图片描述
并不是什么大问题,只是说这个细节可能会被遗漏

② uri问题

在这里插入图片描述
当时搞这个费了老劲了,搞不懂为啥是非法路径,使用getResource获取编译出来的文件夹路径会前面会出现file:/,必须把这个file:/去掉才能进行下一步文件夹下的文件读取

二、播放不了的问题

① 获取的媒体文件路径本身就是不对的

请添加图片描述

D:\javaFX1\out\production\java\audio\fox1\audio0.wav

 从directoryStream(忽略这个,只是一个特殊指代词)得到的文件路径,要注意路径里面的是斜杠还是反斜杠,合法的路径应该是/才对,要把“\”(反斜杠)换成“/”(斜杠)
 加以下这行代码就可以了audioFilePath = audioFilePath.replace("\\", "/");这里源的位置两个斜杠分别代表斜杠和转义符

② 必须是uri

转换完反斜杠,播放媒体,那你大概率会遇到下面这个错误

java.lang.UnsupportedOperationException: Unsupported protocol "xxx"

 这个错误是由于尝试使用不支持的协议导致的。在JavaFX的Media类中,它接受的是一个合法的URI(Uniform Resource Identifier),而不是简单的文件路径。需要将文件路径转换为正确的URI格式,然后再传递给Media类
在这里插入图片描述

③ 特殊情况

 我遇到一种奇怪的现象,打断点看路径没有问题,文件在项目里也有,但老是报not found的情况,最后发现是编译结果那里没把我项目里的文件编译出来,重新编译也没用。
碰到这种情况,直接把整个out删掉,然后再给它一锤子(编译),看它还发不发癫
请添加图片描述

额外收获:

URI和URL区别的通俗理解
借用一句话就是: 去村子找个具体的人就是URI(这个人),如果用地址:某村多少号房子第几间房的主人 就是URL,如果用身份证号+名字 去找就是URN了

http://www.bjxfkj.com.cn/article/110567.html

相关文章:

  • 如何在网站添加代码4399网页游戏大全电脑版在线玩
  • 我是做网站怎么赚钱2013网站设计
  • 深圳有没有可以做家教的网站最新远程网站建设服务器
  • 全国网站设计排名织梦模板怎么修改主页
  • 温州网站建设公司哪个好手机做网站的
  • 旅游网站建设服务对象wordpress英文改为中文
  • 怎么做网站销售什么是网络营销信息
  • 网站开发硬件环境怎么在网上做网络营销
  • 网站乱码淮北市相山区建设局网站
  • 宝宝投票网站怎么做的新余市建设局网站
  • 游戏网站logo制作十堰网络推广培训
  • 网站内部优化wordpress禁用php报错
  • 哈尔滨建立网站公司河南省城乡与住房建设厅网站首页
  • 申请一个域名可以建设一个网站吗温州专业建站
  • 自学设计软件的免费网站虚拟主机管理
  • 网站建设与维护视频教程在中国如何申请域名
  • 网站策划书的要点青岛网站建设seo优化
  • 北京建站模板展示平躺设计家官网
  • 电子商务网站建设应该侧重哪方面soho设计网站
  • 温州苍南网站建设品牌网站如何做
  • 网站切片 做程序html5网页制作源码大全
  • 如何让百度收录网站濮阳全员核酸检测
  • wordpress给会员发信seo推广培训中心
  • 佛山制作手机网站网站制作中需要注意的地方
  • 建个微商城网站电商小程序开发方案
  • 做公司网站需要什么程序html设计网站
  • 怎么查网站是哪家制作公司做的龙岩公司注册流程
  • 企业网站托管后果湖北城市建设职业技术学院网站
  • 永久免费的网站空间辽宁和生活app下载安装
  • wordpress 乱码太原seo优化公司