html5前端Video视频标签和audio音频标签的使用

html5前端Video视频标签和audio音频标签的使用

h5新特性中关于Video视频标签和audio音频标签的使用和浅谈

一、Video视频标签

video标签是h5新特性中用来播放视频的控件,现在就来详细介绍下如何使用

  1. 支持的三种常见格式:mp4webmogv
  2. 浏览器差异问题 :
    火狐、谷歌、欧朋浏览器支持全部格式
    safari只支持mp4格式
    IE8及以下版本不支持video标签
    IE9及以上只支持mp4格式
  3. 初使用:
   // src是视频链接地址    controls是视频控制器
   <video src='xxxx.mp4'  controls ></video>
  1. 其他写法:
	//这样写的好处是:可以兼容不同的浏览器支持的视频格式
	<video  controls >
		<source src="XXX.mp4">
		<source src="XXX.webm">
		<source src="XXX.ogv">
	</video>
  1. 常见的属性
    6cc20197537ffaa206ff0.png
    注意:autoplay在谷歌浏览器无法自动播放
    poster="图片封面链接"
  2. 通过js控制video属性:

4eae2f262679cfd390bd1.png
146c40.png3296e2.png

   //首先定义video标签:
   <video src='xxxx.mp4'  controls id="myvideo"></video>
   //以下是常用的几个
   <script>
   		var videoNode=document.getElementById("myvideo");
   		videoNode.play();//视频播放
   		videoNode.pause();//视频暂停
   		var videolength=videoNode.duration();//获取视频总时长
   		var nowtime=videoNode.currentTime();//获取播放时长
   		videoNode.addEventListener('ended',function(){//视频结束后触发播放
   				videoNode.play();
   		})
   		videoNode.playbackRate=2;//设置二倍速播放
   		全屏按钮.onclick=function(){//点击全屏播放
   					videoNode.webkitRequestFullscreen();
   			}
   </script>

二、audio音频标签

audio标签是h5新特性中用来播放音频的控件,现在就来详细介绍下如何使用

  1. 支持的三种常见格式:mp3wavogg
  2. 浏览器差异问题 :
    mp3格式所有浏览器都支持
    ogg支持谷歌、欧朋、火狐
  3. 初使用:
   // src是音乐链接地址    controls是控制器
   <audio src='xxxx.mp3'  controls ></audio>
  1. 其他写法:
	//这样写的好处是:可以兼容不同的浏览器支持的视频格式
	<audio controls >
		<source src="XXX.mp3">
		<source src="XXX.wav">
		<source src="XXX.ogg">
	</audio >
  1. 常见的属性
    与上述video标签的属性一致,用法一样
  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用FFmpeg库来合并音频视频,并使用Spring Boot将结果返回给前端。下面是一个简单的示例代码: 1. 首先,你需要添加FFmpeg库的依赖。在pom.xml文件中添加以下代码: ``` <dependency> <groupId>com.github.wang-bin</groupId> <artifactId>java-ffmpeg</artifactId> <version>4.2.2</version> </dependency> ``` 2. 创建一个名为MediaController的Spring Boot控制器类,该类将处理视频音频的合并请求。以下是示例代码: ```java @RestController public class MediaController { @PostMapping("/merge") public ResponseEntity<Resource> mergeMedia(@RequestParam("video") MultipartFile videoFile, @RequestParam("audio") MultipartFile audioFile) throws IOException { // 创建临时文件夹 File tempDir = Files.createTempDir(); // 将视频音频文件保存到临时文件夹 File video = new File(tempDir, videoFile.getOriginalFilename()); videoFile.transferTo(video); File audio = new File(tempDir, audioFile.getOriginalFilename()); audioFile.transferTo(audio); // 使用FFmpeg库将视频音频合并 FFmpeg ffmpeg = new FFmpeg("ffmpeg"); FFmpegExecutor executor = new FFmpegExecutor(ffmpeg); FFmpegProbeResult videoInfo = FFmpegProbeResult .fromCommand(ffmpeg, Arrays.asList("-i", video.getAbsolutePath())) .execute(); FFmpegProbeResult audioInfo = FFmpegProbeResult .fromCommand(ffmpeg, Arrays.asList("-i", audio.getAbsolutePath())) .execute(); FFmpegBuilder builder = new FFmpegBuilder() .addInput(video.getAbsolutePath()) .addInput(audio.getAbsolutePath()) .overrideOutputFiles(true) .addOutput(tempDir.getAbsolutePath() + "/output.mp4") .setFormat("mp4") .setVideoCodec(videoInfo.getVideo().getCodecName()) .setVideoFrameRate(videoInfo.getVideo().getFrameRate()) .setVideoResolution(videoInfo.getVideo().getWidth(), videoInfo.getVideo().getHeight()) .setAudioCodec(audioInfo.getAudio().getCodecName()) .setAudioSampleRate(audioInfo.getAudio().getSampleRate()) .setAudioChannels(audioInfo.getAudio().getChannels()) .done(); executor.createJob(builder).run(); // 将合并结果返回给前端 Resource resource = new FileSystemResource(tempDir.getAbsolutePath() + "/output.mp4"); return ResponseEntity.ok() .contentType(MediaType.parseMediaType("video/mp4")) .body(resource); } } ``` 3. 在你的应用程序中配置MultipartResolver,以便能够处理文件上传。以下是示例代码: ```java @Configuration public class AppConfig { @Bean public MultipartResolver multipartResolver() { return new StandardServletMultipartResolver(); } } ``` 现在,你可以使用POST请求发送视频音频文件,并从响应中获取合并后的视频文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值