# wsock.tcp.httpStreamMp3 库模块帮助文档

[内存 MP3 URL](https://www.aardio.com/zh-cn/docs/library/wsock/tcp/httpStreamMp3/)

## httpStreamMp3Object 成员列表 <a id="httpStreamMp3Object" href="#httpStreamMp3Object">&#x23;</a>

### httpStreamMp3Object.close() <a id="httpStreamMp3Object.close" href="#httpStreamMp3Object.close">&#x23;</a>
撤销 URL、唤醒等待中的 HTTP 请求、停止自有服务并释放全部音频。可重复调用。  
不会停止播放器已经缓存的声音；应用应另行停止播放器。未手动调用时析构自动清理。

### httpStreamMp3Object.error <a id="httpStreamMp3Object.error" href="#httpStreamMp3Object.error">&#x23;</a>
来源或容量错误（如有）。

### httpStreamMp3Object.finish(err) <a id="httpStreamMp3Object.finish" href="#httpStreamMp3Object.finish">&#x23;</a>
结束输入。省略 err 表示成功：各请求发完剩余数据后正常结束，URL 和音频仍然保留。  
传入错误字符串或错误表表示来源失败：当前响应中断，不混入错误文本；后续 GET 返回 503。  
成功转换状态返回 true；重复正常 finish 返回 true；已经失败或关闭返回 null,err。  
不表示播放器已经播放完。

### httpStreamMp3Object.maxBytes <a id="httpStreamMp3Object.maxBytes" href="#httpStreamMp3Object.maxBytes">&#x23;</a>
最大保留字节数；创建时通过 options 指定。

### httpStreamMp3Object.size <a id="httpStreamMp3Object.size" href="#httpStreamMp3Object.size">&#x23;</a>
当前保留的音频字节数（只读）；close 后为 0。

### httpStreamMp3Object.state <a id="httpStreamMp3Object.state" href="#httpStreamMp3Object.state">&#x23;</a>
状态（只读）：open、finished、failed、closed。

### httpStreamMp3Object.url <a id="httpStreamMp3Object.url" href="#httpStreamMp3Object.url">&#x23;</a>
可立即交给播放器的 MP3 URL（只读）。  
无需等到首块音频或 finish。close 后失效。

### httpStreamMp3Object.write(data) <a id="httpStreamMp3Object.write" href="#httpStreamMp3Object.write">&#x23;</a>
按序追加 MP3 字节；data 是字符串或 buffer。成功返回 true，失败返回 null,err。  
空字节串是无操作，不表示 EOF；buffer 会复制。  
达到 maxBytes 后拒绝超限整块并将流标为 failed。不等待播放器读取。

## wsock.tcp 成员列表 <a id="wsock.tcp" href="#wsock.tcp">&#x23;</a>

### wsock.tcp.httpStreamMp3 <a id="wsock.tcp.httpStreamMp3" href="#wsock.tcp.httpStreamMp3">&#x23;</a>
本机内存 MP3 HTTP 流。一个对象对应一个 URL；不依赖 TTS 引擎、播放器或音频文件。

### wsock.tcp.httpStreamMp3() <a id="wsock.tcp.httpStreamMp3" href="#wsock.tcp.httpStreamMp3">&#x23;</a>
[返回对象:httpStreamMp3Object](#httpStreamMp3Object)

### wsock.tcp.httpStreamMp3(options) <a id="wsock.tcp.httpStreamMp3" href="#wsock.tcp.httpStreamMp3">&#x23;</a>
创建并启动仅监听 127.0.0.1 的独立 HTTP 服务，成功返回对象，失败返回 null,err。  
options 可省略：port=0 自动分配端口；threadNum=1；maxBytes=33554432（32 MiB）。  
在创建线程中调用对象方法。音频全部保留到 close；不做环形回收、自动过期、重试或 Range seek。
