olympus-r
Version:
一个力求简单易用的前端开发框架 #### 开发语言 TypeScript #### 核心架构 MVC #### 模块间通讯和解耦 采用事件机制,利用一个全局唯一的事件派发器进行模块间通讯,解耦模块间依赖 #### 表现层结构 使用桥接模式拆分接口与实现,达到一套核心驱动多套表现层的目的(目前支持DOM、Egret、PixiJS三种表现层),同时支持表现层的未来可扩展性 #### TypeScript装饰器注入 框架提供TypeScript装饰器注入功能,便捷获取托管对象。例如:
72 lines (71 loc) • 1.75 kB
TypeScript
import IAudio, { AudioPlayParams } from "./IAudio";
/**
* @author Raykid
* @email initial_r@qq.com
* @create date 2017-10-30
* @modify date 2017-10-30
*
* 使用AudioContext实现IAudio接口的实现类
*/
export default class AudioContextImpl implements IAudio {
private _disposed;
readonly disposed: boolean;
private _mute;
private _playingDict;
/**
* 静音状态
*
* @type {boolean}
* @memberof AudioTagImpl
*/
mute: boolean;
private _context;
private _audioCache;
private _onInit;
constructor();
/**
* 加载音频
*
* @param {string} url 音频地址
* @memberof AudioContextImpl
*/
load(url: string): void;
/**
* 播放音频,如果音频没有加载则先加载再播放
*
* @param {AudioPlayParams} params 音频播放参数
* @returns {void}
* @memberof AudioContextImpl
*/
play(params: AudioPlayParams): void;
private _doStop;
/**
* 暂停音频(不会重置进度)
*
* @param {string} url 音频URL
* @memberof AudioContextImpl
*/
pause(url: string): void;
/**
* 停止音频(会重置进度)
*
* @param {string} url 音频URL
* @memberof AudioContextImpl
*/
stop(url: string): void;
/**
* 停止所有音频
*
* @memberof AudioContextImpl
*/
stopAll(): void;
/**
* 跳转音频进度
*
* @param {string} url 音频URL
* @param {number} time 要跳转到的音频位置,毫秒值
* @memberof AudioContextImpl
*/
seek(url: string, time: number): void;
dispose(): void;
}