35 lines
		
	
	
		
			640 B
		
	
	
	
		
			JavaScript
		
	
	
	
		
		
			
		
	
	
			35 lines
		
	
	
		
			640 B
		
	
	
	
		
			JavaScript
		
	
	
	
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @fileoverview audio 插件
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								const context = require('./context')
							 | 
						||
| 
								 | 
							
								let index = 0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function Audio (vm) {
							 | 
						||
| 
								 | 
							
								  this.vm = vm
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Audio.prototype.onUpdate = function () {
							 | 
						||
| 
								 | 
							
								  this.audios = []
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Audio.prototype.onParse = function (node) {
							 | 
						||
| 
								 | 
							
								  if (node.name === 'audio') {
							 | 
						||
| 
								 | 
							
								    if (!node.attrs.id) {
							 | 
						||
| 
								 | 
							
								      node.attrs.id = 'a' + index++
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    this.audios.push(node.attrs.id)
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Audio.prototype.onLoad = function () {
							 | 
						||
| 
								 | 
							
								  setTimeout(() => {
							 | 
						||
| 
								 | 
							
								    for (let i = 0; i < this.audios.length; i++) {
							 | 
						||
| 
								 | 
							
								      const ctx = context.get(this.audios[i])
							 | 
						||
| 
								 | 
							
								      ctx.id = this.audios[i]
							 | 
						||
| 
								 | 
							
								      this.vm._videos.push(ctx)
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }, 500)
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = Audio
							 |