Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
hello uni-app x
提交
8d730359
H
hello uni-app x
项目概览
DCloud
/
hello uni-app x
通知
5995
Star
90
Fork
162
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
18
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hello uni-app x
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
18
Issue
18
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
8d730359
编写于
11月 04, 2024
作者:
M
mahaifeng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[audio]修改音频示例
上级
c678cf52
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
42 addition
and
33 deletion
+42
-33
pages/API/background-audio/background-audio.uvue
pages/API/background-audio/background-audio.uvue
+6
-6
pages/API/create-inner-audio-context/create-inner-audio-context.uvue
...reate-inner-audio-context/create-inner-audio-context.uvue
+8
-2
pages/API/create-inner-audio-context/inner-audio-format.uvue
pages/API/create-inner-audio-context/inner-audio-format.uvue
+14
-11
pages/API/create-inner-audio-context/inner-audio-path.uvue
pages/API/create-inner-audio-context/inner-audio-path.uvue
+14
-14
未找到文件。
pages/API/background-audio/background-audio.uvue
浏览文件 @
8d730359
...
@@ -68,7 +68,7 @@
...
@@ -68,7 +68,7 @@
bgAudioMannager.title = '致爱丽丝'+this.count++;
bgAudioMannager.title = '致爱丽丝'+this.count++;
bgAudioMannager.singer = '暂无2'+this.count++;
bgAudioMannager.singer = '暂无2'+this.count++;
bgAudioMannager.coverImgUrl = 'https://web-assets.dcloud.net.cn/unidoc/zh/Alice.jpeg';
bgAudioMannager.coverImgUrl = 'https://web-assets.dcloud.net.cn/unidoc/zh/Alice.jpeg';
this.bgAudioMannager!
!
.src = this.dataUrl;
this.bgAudioMannager!.src = this.dataUrl;
this.bgAudioMannager?.play()
this.bgAudioMannager?.play()
})
})
bgAudioMannager.onPrev(() => {
bgAudioMannager.onPrev(() => {
...
@@ -76,7 +76,7 @@
...
@@ -76,7 +76,7 @@
this.bgAudioMannager?.stop()
this.bgAudioMannager?.stop()
bgAudioMannager.title = '致爱丽丝'+this.count--;
bgAudioMannager.title = '致爱丽丝'+this.count--;
bgAudioMannager.singer = '暂无'+this.count--;
bgAudioMannager.singer = '暂无'+this.count--;
this.bgAudioMannager!
!
.src = this.dataUrl;
this.bgAudioMannager!.src = this.dataUrl;
this.bgAudioMannager?.play()
this.bgAudioMannager?.play()
})
})
// bgAudioMannager.onTimeUpdate((e) => {
// bgAudioMannager.onTimeUpdate((e) => {
...
@@ -91,17 +91,17 @@
...
@@ -91,17 +91,17 @@
methods: {
methods: {
play: function () {
play: function () {
console.log('play')
console.log('play')
this.bgAudioMannager!
!
.src = this.dataUrl;
this.bgAudioMannager!.src = this.dataUrl;
// #ifdef APP-ANDROID
// #ifdef APP-ANDROID
if (UTSAndroid.checkSystemPermissionGranted(UTSAndroid.getUniActivity()!, ["android.permission.POST_NOTIFICATIONS"])) {
if (UTSAndroid.checkSystemPermissionGranted(UTSAndroid.getUniActivity()!, ["android.permission.POST_NOTIFICATIONS"])) {
this.bgAudioMannager!
!
.play()
this.bgAudioMannager!.play()
} else {
} else {
// 检查当前 Android 版本和 targetSdkVersion
// 检查当前 Android 版本和 targetSdkVersion
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
// Android 13 及以上版本
// Android 13 及以上版本
if ((UTSAndroid.getAppContext() as Application).applicationInfo.targetSdkVersion >= 33) {
if ((UTSAndroid.getAppContext() as Application).applicationInfo.targetSdkVersion >= 33) {
UTSAndroid.requestSystemPermission(UTSAndroid.getUniActivity()!, ["android.permission.POST_NOTIFICATIONS"], (_ : boolean, p : string[]) => {
UTSAndroid.requestSystemPermission(UTSAndroid.getUniActivity()!, ["android.permission.POST_NOTIFICATIONS"], (_ : boolean, p : string[]) => {
this.bgAudioMannager!
!
.play()
this.bgAudioMannager!.play()
}, (_ : boolean, p : string[]) => {
}, (_ : boolean, p : string[]) => {
uni.showToast({
uni.showToast({
title: "权限被拒绝了",
title: "权限被拒绝了",
...
@@ -178,4 +178,4 @@
...
@@ -178,4 +178,4 @@
flex-direction: row;
flex-direction: row;
justify-content: center;
justify-content: center;
}
}
</style>
</style>
\ No newline at end of file
pages/API/create-inner-audio-context/create-inner-audio-context.uvue
浏览文件 @
8d730359
<template>
<template>
<!-- #ifdef APP -->
<scroll-view style="flex: 1;">
<!-- #endif -->
<view class="uni-padding-wrap">
<view class="uni-padding-wrap">
<page-head title="audio"></page-head>
<page-head title="audio"></page-head>
<view class="uni-common-mt">
<view class="uni-common-mt">
...
@@ -39,6 +42,9 @@
...
@@ -39,6 +42,9 @@
<button type="primary" @click="pause">音频路径示例</button>
<button type="primary" @click="pause">音频路径示例</button>
</navigator>
</navigator>
</view>
</view>
<!-- #ifdef APP -->
</scroll-view>
<!-- #endif -->
</template>
</template>
<script lang="uts">
<script lang="uts">
const audioUrl = 'https://web-ext-storage.dcloud.net.cn/uni-app/ForElise.mp3'
const audioUrl = 'https://web-ext-storage.dcloud.net.cn/uni-app/ForElise.mp3'
...
@@ -163,8 +169,8 @@
...
@@ -163,8 +169,8 @@
onTimeUpdate() {
onTimeUpdate() {
this._audioContext!.onTimeUpdate(() => {
this._audioContext!.onTimeUpdate(() => {
// console.log('onTimeUpdate:音频播放进度更新事件,currentTime',this._audioContext!.currentTime);
// console.log('onTimeUpdate:音频播放进度更新事件,currentTime',this._audioContext!.currentTime);
if (this._isChanging
=== true
) { return; }
if (this._isChanging) { return; }
this.currentTime = this._audioContext!.currentTime
?? 0;
this.currentTime = this._audioContext!.currentTime
console.log('currentTime', this.currentTime);
console.log('currentTime', this.currentTime);
if (this.currentTime > this.buffered) {
if (this.currentTime > this.buffered) {
console.log('缓冲不足');
console.log('缓冲不足');
...
...
pages/API/create-inner-audio-context/inner-audio-format.uvue
浏览文件 @
8d730359
...
@@ -94,6 +94,20 @@
...
@@ -94,6 +94,20 @@
},
},
onReady() {
onReady() {
this._audioContext = uni.createInnerAudioContext();
this._audioContext = uni.createInnerAudioContext();
this._audioContext!.onPlay(() => {
console.log('开始播放');
});
this._audioContext!.onPause(()=>{
console.log('播放暂停');
})
this._audioContext!.onEnded(() => {
console.log('播放结束');
this.isPlaying = false;
});
this._audioContext!.onError((err) => {
this.isPlaying = false;
console.log('err', err);
});
},
},
onUnload() {
onUnload() {
if (this._audioContext != null) {
if (this._audioContext != null) {
...
@@ -116,17 +130,6 @@
...
@@ -116,17 +130,6 @@
this._audioContext!.src = audioUrl;
this._audioContext!.src = audioUrl;
this._audioContext!.play();
this._audioContext!.play();
this.isPlaying = true;
this.isPlaying = true;
this._audioContext!.onPlay(() => {
console.log('开始播放');
});
this._audioContext!.onEnded(() => {
console.log('播放结束');
this.isPlaying = false;
});
this._audioContext!.onError((err) => {
this.isPlaying = false;
console.log('err', err);
});
},
},
},
},
}
}
...
...
pages/API/create-inner-audio-context/inner-audio-path.uvue
浏览文件 @
8d730359
...
@@ -43,13 +43,24 @@
...
@@ -43,13 +43,24 @@
},
},
{
{
description: '错误路径',
description: '错误路径',
src: '../static/test-audio/ForElise.mp3'
src: '../static/test-audio/ForElise
22
.mp3'
},
},
] as Array<AudioPath>
] as Array<AudioPath>
}
}
},
},
onReady() {
onReady() {
this._audioContext = uni.createInnerAudioContext();
this._audioContext = uni.createInnerAudioContext();
this._audioContext!.onPlay(() => {
console.log('开始播放');
});
this._audioContext!.onEnded(() => {
console.log('播放结束');
this.isPlaying = false;
});
this._audioContext!.onError((err) => {
this.isPlaying = false;
console.log('err', err);
});
},
},
onUnload() {
onUnload() {
if (this._audioContext != null) {
if (this._audioContext != null) {
...
@@ -63,7 +74,7 @@
...
@@ -63,7 +74,7 @@
this.isPlaying = false;
this.isPlaying = false;
},
},
play(audioUrl:string, index:number) {
play(audioUrl:string, index:number) {
//
console.log(index,audioUrl);
console.log(index,audioUrl);
if (this.isPlaying && this.playIndex == index) {
if (this.isPlaying && this.playIndex == index) {
this.pause();
this.pause();
return;
return;
...
@@ -72,17 +83,6 @@
...
@@ -72,17 +83,6 @@
this._audioContext!.src = audioUrl;
this._audioContext!.src = audioUrl;
this._audioContext!.play();
this._audioContext!.play();
this.isPlaying = true;
this.isPlaying = true;
this._audioContext!.onPlay(() => {
console.log('开始播放');
});
this._audioContext!.onEnded(() => {
console.log('播放结束');
this.isPlaying = false;
});
this._audioContext!.onError((err) => {
this.isPlaying = false;
console.log('err', err);
});
}
}
}
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录