|
|
@@ -112,7 +112,7 @@
|
|
|
<audio
|
|
|
:id="fileId"
|
|
|
:ref="fileId"
|
|
|
- :src="url"
|
|
|
+ :src="fileUrl"
|
|
|
preload="metadata"
|
|
|
@loadedmetadata="onLoadedmetadata"
|
|
|
@timeupdate="onTimeupdate"
|
|
|
@@ -131,6 +131,10 @@ export default {
|
|
|
type: String,
|
|
|
required: true,
|
|
|
},
|
|
|
+ fileUrl: {
|
|
|
+ type: String,
|
|
|
+ default: '',
|
|
|
+ },
|
|
|
fileName: {
|
|
|
type: String,
|
|
|
default: '',
|
|
|
@@ -206,6 +210,10 @@ export default {
|
|
|
watch: {
|
|
|
fileId: {
|
|
|
handler(val) {
|
|
|
+ if (this.fileUrl) {
|
|
|
+ this.url = this.fileUrl;
|
|
|
+ return;
|
|
|
+ }
|
|
|
if (!val) return;
|
|
|
GetFileURLMap({ file_id_list: [val] }).then(({ url_map }) => {
|
|
|
this.url = url_map[val];
|
|
|
@@ -232,7 +240,7 @@ export default {
|
|
|
this.curTime = curTime * 1000;
|
|
|
},
|
|
|
playAudio() {
|
|
|
- if (!this.url) return;
|
|
|
+ if (!this.url || !this.fileUrl) return;
|
|
|
const audio = this.$refs[this.fileId] || {};
|
|
|
this.pauseAll();
|
|
|
audio.playbackRate = this.audio.playbackRate;
|
|
|
@@ -289,11 +297,7 @@ export default {
|
|
|
let audioArr = document.getElementsByTagName('audio');
|
|
|
if (audioArr && audioArr.length > 0) {
|
|
|
for (let i = 0; i < audioArr.length; i++) {
|
|
|
- if (audioArr[i].src === this.url) {
|
|
|
- if (audioArr[i].id !== this.fileId) {
|
|
|
- audioArr[i].pause();
|
|
|
- }
|
|
|
- } else {
|
|
|
+ if (audioArr[i].id !== this.fileId) {
|
|
|
audioArr[i].pause();
|
|
|
}
|
|
|
}
|