olympus-r
Version:
一个力求简单易用的前端开发框架 #### 开发语言 TypeScript #### 核心架构 MVC #### 模块间通讯和解耦 采用事件机制,利用一个全局唯一的事件派发器进行模块间通讯,解耦模块间依赖 #### 表现层结构 使用桥接模式拆分接口与实现,达到一套核心驱动多套表现层的目的(目前支持DOM、Egret、PixiJS三种表现层),同时支持表现层的未来可扩展性 #### TypeScript装饰器注入 框架提供TypeScript装饰器注入功能,便捷获取托管对象。例如:
86 lines (85 loc) • 1.96 kB
TypeScript
import IDisposable from '../../core/interfaces/IDisposable';
/**
* @author Raykid
* @email initial_r@qq.com
* @create date 2017-10-30
* @modify date 2017-10-30
*
* 音频接口
*/
export default interface IAudio extends IDisposable {
mute: boolean;
/**
* 加载音频
*
* @param {string} url 音频URL
* @memberof IAudio
*/
load(url: string): void;
/**
* 播放音频,如果音频没有加载则先加载再播放
*
* @param {AudioPlayParams} params 音频播放参数
* @returns {void}
* @memberof IAudio
*/
play(params: AudioPlayParams): void;
/**
* 暂停音频(不会重置进度)
*
* @param {string} url 音频URL
* @memberof IAudio
*/
pause(url: string): void;
/**
* 停止音频(会重置进度)
*
* @param {string} url 音频URL
* @memberof IAudio
*/
stop(url: string): void;
/**
* 停止所有音频
*
* @memberof IAudio
*/
stopAll(): void;
/**
* 跳转音频进度
*
* @param {string} url 音频URL
* @param {number} time 要跳转到的音频位置,毫秒值
* @memberof IAudio
*/
seek(url: string, time: number): void;
}
export interface AudioPlayParams {
/**
* 音频地址
*
* @type {string}
* @memberof AudioPlayParams
*/
url: string;
/**
* 播放启动的时间戳
*
* @type {number}
* @memberof AudioPlayParams
*/
time?: number;
/**
* 是否循环,默认为false
*
* @type {boolean}
* @memberof AudioPlayParams
*/
loop?: boolean;
/**
* 是否播放前关闭其他声音,默认为false,与important无法同时为true
*
* @type {boolean}
* @memberof AudioPlayParams
*/
stopOthers?: boolean;
}