uni-app(踩坑第三篇):音频Api之uni.createInnerAudioContext()

这篇具有很好参考价值的文章主要介绍了uni-app(踩坑第三篇):音频Api之uni.createInnerAudioContext()。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

uni.createInnerAudioContext()

创建并返回内部 audio 上下文 innerAudioContext 对象。

最近在写一个仿网易云的项目,使用uni.createInnerAudioContext()封装了一个音频组件

#myaudio.vue

主要实现了图片旋转以及音乐的播放和暂停

有没有大佬指教一番的让我涨涨知识

uni.createinneraudiocontext(),uni-app,uni-app

<template>
	<view class="myaudio">
		<!-- 歌曲海报 -->
		<view class="musicimage" @click="changetomusic">
			<image class="appLogo"
				src="https://img2.baidu.com/it/u=3181851593,3353679262&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=292"
				mode=""></image>
		</view>
		<!--  歌曲名称-->
		<view class="musictext" @click="changetomusic">
			{{text}}
		</view>
		<!-- 播放按钮 -->
		<view class="musiconplay">
			<view class="iconfont icon-bofanganniu" v-if=" iconshow ? false:true" @click="changeto">

			</view>
			<view class="iconfont icon-zanting" v-if=" iconshow ? true:false" @click="changeto">

			</view>
		</view>
		<!-- 列表按钮 -->
		<view class="musiclist">
			<view class="iconfont icon-bofangliebiao">
				<!-- v-if=" iconshow ? true:false" @click="changeto" -->
			</view>
		</view>
	</view>
</template>

<script>
	const innerAudioContext = uni.createInnerAudioContext() //想要实现暂停功能就要把该对象变为全局属性
	export default {
		name: 'myaudio',
		data() {
			return {
				iconshow: false,
				text: '红玫瑰 - 陈奕迅',
				url: "https://dl.stream.qqmusic.qq.com/C400003LnSNo1ecdc3.m4a?guid=358840384&vkey=4998179E3E27FCEC1CADA69ACE26BA5DF979E8F05291153DC32F77C7C50C3213C5668EA838E705063B448C983A777DD574E945B3FBECA0D0&uin=&fromtag=120032",
				currenttime: 0
			}
		},
		methods: {
			changeto() {
				this.iconshow = !this.iconshow
				console.log(this.iconshow);
				if (this.iconshow) {
					innerAudioContext.src = this.url;
					innerAudioContext.seek(this.currenttime)
					innerAudioContext.volume = 0.5
					innerAudioContext.play()
					
				} else {
					innerAudioContext.pause()
					this.currenttime = innerAudioContext.currentTime
				}


			},
			changetomusic() {
				uni.navigateTo({
					url: "/pages/bofang/bofang"
				})
			},

		}
	}
</script>

<style lang="scss">
	@import url("../../static/iconfont/iconfont.css");

	// https://img2.baidu.com/it/u=3181851593,3353679262&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=292
	.myaudio {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		height: 100%;
		padding: 0;
		margin: 0;

		.musicimage {
			width: 15%;
			padding: 0;
			margin: 0;
			height: 100%;
			background-color: black;
			border-radius: 50%;

			.appLogo {
				position: relative;
				top: 7px;
				left: 7px;
				width: 70%;
				height: 70%;

				border-radius: 50%;
			}
		}

		.musictext {
			width: 55%;
			height: 100%;
			padding-left: 10px;
			font-size: 15px;
			line-height: 50px;
			text-align: left;
		}

		@keyframes App-logo-spin {
			from {
				transform: rotate(0deg);
			}

			to {
				transform: rotate(360deg);
			}
		}

		@media (prefers-reduced-motion: no-preference) {
			.appLogo {
				animation: App-logo-spin infinite 20s linear;
			}
		}

		.musiconplay {
			width: 15%;
			height: 100%;

			.icon-bofanganniu {
				cursor: pointer;
				font-size: 30px;
				line-height: 50px;
			}

			.icon-zanting {
				font-size: 30px;
				line-height: 50px;
			}
		}

		.musiconplay:focus-visible {
			width: 15%;
			height: 100%;
			background-color: red;

			.icon-bofanganniu {
				font-size: 30px;
				line-height: 50px;
			}

			.icon-zanting {
				font-size: 30px;
				line-height: 50px;
			}
		}

		.musiclist {
			width: 12.1%;
			height: 100%;

			.icon-bofangliebiao {
				font-size: 30px;
				line-height: 50px;
				text-align: right;
			}
		}
	}
</style>

这是实现图片绕中心轴无限旋转的样式

只需要给imgage一个类名为appLogo 

@keyframes App-logo-spin {
			from {
				transform: rotate(0deg);
			}

			to {
				transform: rotate(360deg);
			}
		}

		@media (prefers-reduced-motion: no-preference) {
			.appLogo {
				animation: App-logo-spin infinite 20s linear;
			}
		}

iconfont.css


/* 播放 */
@font-face {
  font-family: 'iconfont';  /* Project id 3740373 */
  src: url('https://at.alicdn.com/t/c/font_3740373_y08i9drblu.woff2?t=1667207478681') format('woff2'),
       url('https://at.alicdn.com/t/c/font_3740373_y08i9drblu.woff?t=1667207478681') format('woff'),
       url('https://at.alicdn.com/t/c/font_3740373_y08i9drblu.ttf?t=1667207478681') format('truetype');
}

.iconfont {
  font-family: "iconfont" !important;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-bofanganniu:before {
  content: "\e628";
}

/* 暂停 */
@font-face {
  font-family: 'iconfont';  /* Project id 3740382 */
  src: url('https://at.alicdn.com/t/c/font_3740382_mrrswfti5k.woff2?t=1667207599785') format('woff2'),
       url('https://at.alicdn.com/t/c/font_3740382_mrrswfti5k.woff?t=1667207599785') format('woff'),
       url('https://at.alicdn.com/t/c/font_3740382_mrrswfti5k.ttf?t=1667207599785') format('truetype');
}

.iconfont {
  font-family: "iconfont" !important;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-zanting:before {
  content: "\e600";
}
/* 播放列表 */
@font-face {
  font-family: 'iconfont';  /* Project id 3740393 */
  src: url('https://at.alicdn.com/t/c/font_3740393_unr3lgox5gr.woff2?t=1667207714247') format('woff2'),
       url('https://at.alicdn.com/t/c/font_3740393_unr3lgox5gr.woff?t=1667207714247') format('woff'),
       url('https://at.alicdn.com/t/c/font_3740393_unr3lgox5gr.ttf?t=1667207714247') format('truetype');
}

.iconfont {
  font-family: "iconfont" !important;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-bofangliebiao:before {
  content: "\e6a7";
}


一起评论交流,共同进步啊!文章来源地址https://www.toymoban.com/news/detail-614669.html

到了这里,关于uni-app(踩坑第三篇):音频Api之uni.createInnerAudioContext()的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uni-app微信小程序打开第三方地图

    小程序中有个按钮点击以后会调用手机中第三方地图进行导航。 参数 位置信息 经度 与纬度。 原本以为一切顺利,结果在微信开发者工具中显示如下: location参数格式错误,请正确填写 经过测试发现,因为我在微信小程序中使用,所以默认会使用腾讯地图来显示。 而我的经

    2024年02月06日
    浏览(56)
  • 【备忘录】uni-app的地图相关组件操作,uni-app接入腾讯地图API的具体实现

    官方帮助文档:https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/jsSdkOverview 进行一些简单的配置 Uniapp提供的位置相关的服务: https://uniapp.dcloud.net.cn/api/location/location.html UniApp提供的地图组件 https://uniapp.dcloud.net.cn/component/map.html 文档针对微信小程序进行设置,其他端使用这些组件还需要参

    2023年04月26日
    浏览(40)
  • uni-app 之 uni.request 网络请求API接口

    uni-app 之 uni.request 网络请求API接口 image.png

    2024年02月09日
    浏览(36)
  • 【App端】uni-app使用echarts和百度地图api

    近期的app项目中想加一个功能,展示全国各地的某一数据统计情况,想来想去,用echarts做地图数据可视化直观且美观。于是就去研究了如何使用,其实在移动端使用echarts地图踩的bug挺多的,总结如下。 JavaScript API GL账号和获取密钥 1、获取SHA1:Android平台云端打包 - 公共测试

    2024年02月11日
    浏览(32)
  • uni-app小程序实现音频播放,uniapp播放录音,uniapp简单实现播放录音

    复制到.vue文件即可预览效果 问题 :开发者工具中.onTimeUpdate方法可能会失效! 官方参考:https://uniapp.dcloud.net.cn/api/media/audio-context.html# 其他博客参考:https://blog.csdn.net/weixin_45328705/article/details/114091301 录音实现参考 :https://blog.csdn.net/weixin_43992507/article/details/129857780

    2024年02月12日
    浏览(39)
  • 微信小程序第三方平台uni-app配置ext.json(超详细)

    假如说,有多个业务,功能模式相同的公众号/小程序,如果只是小程序开发,那是不是需要复制多套代码,改appid信息,在微信公众号后台,配置域名服务器以及密钥等繁琐的信息,每改一个提交发布一次,进行重复的步骤。随着要维护的公众号/小程序数量逐步增加,需要投

    2024年02月03日
    浏览(79)
  • 关于uni-app与vue路由配置的不同,不使用uni.navigateTo接口跳转时,使用this.$router.push的踩坑经验

           目录 懵逼的一个小时    uni-app与vue路由配置的不同 非官方接口的另类写法 错误编写: 正确编写(只需写父组件即可,其他是多余):         之前用vue写router路由的时候,先配置一个路由表,然后再将配好的路由push到已有的组件里面,再通过RouterView/RouterV

    2024年02月09日
    浏览(41)
  • 【App端】uni-app使用百度地图api和echarts省市地图下钻

    近期的app项目中想加一个功能,展示全国各地的某一数据统计情况,想来想去,用echarts做地图数据可视化直观且美观。于是就去研究了如何使用,其实在移动端使用echarts地图踩的bug挺多的,总结如下。 JavaScript API GL账号和获取密钥 1、获取SHA1:Android平台云端打包 - 公共测试

    2024年02月11日
    浏览(31)
  • uni-app 使用uni.request封装发送api请求文档服务器请求导航守卫

    前言 刚刚接触uni-app时候想着直接使用axios发请求,可以发送成功但是请求头有点问题 后面发现教程都是使用@escookrequest-miniprogram三方包发送请求-(浏览器环境发送不了请求,不兼容) 为什么不直接用uni.request()发送请求,是因为每次请求都要写一次添加请求头不合理 后面

    2024年02月16日
    浏览(45)
  • uni-app调用微信小程序流量主激励广告API

    如微信小程序要接入广告,则需要在该小程序注册的微信公众开发平台申请开通流量主广告API,否则无法接入广告API,实现页面广告展示功能。  开通条件 累计独立访客(UV)不低于 1000 存在刷粉行为或有严重违规记录的小程序不予申请 同一个收款账户最多允许关联 50 个账

    2024年01月20日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包