音频的上传与播放

音频上传 加audio标签播放

<input type="text" class="audio-input" placeholder="请填写音频链接">
<a href="javascript:;" class="file">选择音频<input id="test1" placeholder=""
 accept="audio/*" type="file" ></a>
.file {
    position: relative;
    display: inline-block;
    background: #6098ef;
    border-radius: 4px;
    padding: 4px 12px;
    overflow: hidden;
    color: white;
    text-decoration: none;
    text-indent: 0;
    line-height: 20px;
}
.file input {
    position: absolute; 
    font-size: 100px;
    right: 0;
    top: 0;
    opacity: 0;
}
.file:hover {
    background: #6098ef;
    border-color: #6098ef;
    color: white;
    text-decoration: none;
}
$('#test').change(function () {
			filename = this.files[0];
			var formData = new FormData();
			formData.append('file', filename);
			formData.append('activity_id', act_id);
			formData.append('openid', openid);
			let size = 0;
			if (size > 10000) {
				layer.msg('音频不得大于10M')
				return false;
			} else {
				// 音频上传请求接口
				var index = layer.load(2, { shade: [0.1, '#fff'] });
				$.ajax({
					url: api_url3 + "/attachment/fans/uploadVoice",
					type: "POST",
					processData: false,
					contentType: false,
					data: formData,
					dataType: 'json',
					success: function (result) {
						result = typeof result === 'string' ? $.parseJSON(result) : result;
						console.log(result)
						layer.close(index);
						if (result.code == 0) {
							layer.msg('上传成功!');
						} else {
							layer.msg(result.msg);
						}
					}
				})
			}
		});

 <!-- 音乐播放器 -->
   <div style="display: none;width: 95%;margin: auto;border-radius: 0; " class="ready-player-1" >
       <audio class="htmleaf-container" src="" type="audio/mpeg" height="420px;">
   </div>
@keyframes spin {
  from {
    transform: rotateZ(0); }
  to {
    transform: rotateZ(1turn); } }

.green-audio-player {
  min-width: 300px;
  height: 56px;
  box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.07);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 10px;
  border-radius: 4px;
  user-select: none;
  background-color: #fff; }
  .green-audio-player svg,
  .green-audio-player img {
    display: block; }
  /* .green-audio-player .play-pause-btn {
    display: none;
    cursor: pointer; } */
.volume {
  display: none;
}
  .green-audio-player .slider {
    flex-grow: 1;
    background-color: #d8d8d8;
    cursor: pointer;
    position: relative; }
    .green-audio-player .slider .progress {
      background-color: #44bfa3;
      border-radius: inherit;
      position: absolute;
      pointer-events: none; }
      .green-audio-player .slider .progress .pin {
        height: 16px;
        width: 16px;
        border-radius: 8px;
        background-color: #44bfa3;
        position: absolute;
        pointer-events: all;
        box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.32); }
  .green-audio-player .controls {
    font-family: "Roboto", sans-serif;
    font-size: 16px;
    line-height: 18px;
    color: #55606e;
    display: flex;
    flex-grow: 1;
    justify-content: space-between;
    align-items: center;
    margin-left: 24px;
    margin-right: 24px; }
    .green-audio-player .controls .controls__slider {
      margin-left: 16px;
      margin-right: 16px;
      border-radius: 2px;
      height: 4px; }
      .green-audio-player .controls .controls__slider .controls__progress {
        width: 0;
        height: 100%; }
        .green-audio-player .controls .controls__slider .controls__progress .progress__pin {
          right: -8px;
          top: -6px; }
    .green-audio-player .controls span {
      cursor: default; }
  .green-audio-player .volu
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,以下是一个简单的Vue应用程序,它实现了音频文件的上播放功能: ``` <template> <div> <input type="file" @change="uploadFile"> <button @click="playAudio" :disabled="!audio">播放</button> </div> </template> <script> export default { data() { return { audio: null } }, methods: { uploadFile(event) { const file = event.target.files[0] const reader = new FileReader() reader.onload = () => { this.audio = new Audio(reader.result) } reader.readAsDataURL(file) }, playAudio() { if (this.audio.paused) { this.audio.play() } else { this.audio.pause() } } } } </script> ``` 这个应用程序包括一个包含一个“上文件”按钮的表单和一个“播放”按钮。当用户选择要上音频文件时,`uploadFile`方法将文件读取为Data URL,并将其递给`Audio`对象。一旦文件已加载,用户就可以单击“播放”按钮来播放或暂停音频。注意,这个应用程序使用HTML5的`Audio`对象来处理音频文件的播放。 ### 回答2: 使用Vue来实现音频文件的上播放可以按照以下步骤: 1. 在Vue组件中添加一个input标签,设置type为file,用于选择音频文件进行上。 ```html <template> <div> <input type="file" @change="handleFileUpload" accept="audio/*" /> <button @click="playAudio">播放</button> </div> </template> ``` 2. 在data中定义一个audioUrl变量用于存储上成功后的音频文件的URL地址。 ```javascript <script> export default { data() { return { audioUrl: null }; }, methods: { handleFileUpload(event) { const file = event.target.files[0]; // 上文件并获取文件的URL地址 // 这里可以使用第三方库或自己实现文件上逻辑 // 简单起见,假设直接将文件的URL地址存储到audioUrl变量中 this.audioUrl = URL.createObjectURL(file); }, playAudio() { if (this.audioUrl) { // 创建一个新的Audio对象来播放音频 const audio = new Audio(this.audioUrl); audio.play(); } } } }; </script> ``` 3. 当用户选择音频文件后,handleFileUpload方法会被触发,其中会获取到文件对象。你可以使用第三方库或自己实现文件上逻辑来上文件并获取文件的URL地址。这里我们简化操作,直接将文件的URL地址作为该文件的本地路径。 4. 在播放按钮的click事件中,使用Audio对象来播放音频。创建一个新的Audio对象,将audioUrl作为参数入,然后调用play方法来播放音频。 以上就是使用Vue代码实现音频文件的上播放的基本步骤。你可以根据实际需求进行扩展和优化。 ### 回答3: 要实现音频文件的上播放,可以使用Vue和一些相关的插件和组件。首先需要安装和引入vue和其他必要的依赖。 1.首先在项目目录下,使用npm安装vue-upload-component插件,这是一个用于处理文件上的组件。 ```shell npm install vue-upload-component ``` 2.在Vue组件中引入和配置该插件。 ```javascript // 引入插件 import vueUploadComponent from 'vue-upload-component' // 注册组件 export default { components: { 'file-upload': vueUploadComponent }, data() { return { // 存储上的文件 uploadedFile: null } }, methods: { // 上成功后的回调函数 handleUpload(file) { this.uploadedFile = file } } } ``` 3.在HTML模板中使用该组件,并添加一个播放按钮。 ```html <template> <div> <file-upload ref="fileUpload" @uploaded="handleUpload" @failed="handleUploadFailed" ></file-upload> <button v-if="uploadedFile" @click="playAudio">Play</button> </div> </template> ``` 4.在methods中添加播放音频的方法。 ```javascript methods: { // 播放音频 playAudio() { const audio = new Audio() audio.src = URL.createObjectURL(this.uploadedFile.file) audio.play() } } ``` 这样,就可以通过点击上按钮选择音频文件进行上,然后点击播放按钮来播放已上音频文件。 以上代码仅为示例,具体的实现方式可能根据实际需求和所使用的插件有所不同。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值