在线播放接口
<h3><strong>概述</strong></h3>
<p>该文档介绍了mp3解密库的相关接口。</p>
<h3>1. 设置libencrypt.so 库的搜索路径</h3>
<ul>
<li>
<p><strong>接口名称:</strong>
int maefProxySetLibSearchPath(const char* libpath);</p>
</li>
<li><strong>参数:</strong></li>
</ul>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">libpath</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>libencrypt.so 库路径</td>
</tr>
</tbody>
</table>
<ul>
<li><strong>返回值:</strong></li>
</ul>
<table>
<thead>
<tr>
<th style="text-align: center;">返回值</th>
<th style="text-align: center;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center;">0</td>
<td style="text-align: center;">成功</td>
</tr>
<tr>
<td style="text-align: center;">其他</td>
<td style="text-align: center;">失败</td>
</tr>
</tbody>
</table>
<h3>2. 创建一个解密句柄</h3>
<ul>
<li>
<p><strong>API接口名:</strong>
void* maefProxyCreate();</p>
</li>
<li><strong>参数:</strong></li>
</ul>
<table>
<thead>
<tr>
<th style="text-align: center;">参数名</th>
<th style="text-align: center;">必选</th>
<th style="text-align: center;">类型</th>
<th style="text-align: center;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center;">-</td>
<td style="text-align: center;">-</td>
<td style="text-align: center;">-</td>
<td style="text-align: center;">-</td>
</tr>
</tbody>
</table>
<ul>
<li><strong>返回值:</strong></li>
</ul>
<table>
<thead>
<tr>
<th style="text-align: center;">返回值</th>
<th style="text-align: center;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center;">非空</td>
<td style="text-align: center;">成功</td>
</tr>
<tr>
<td style="text-align: center;">其他</td>
<td style="text-align: center;">失败</td>
</tr>
</tbody>
</table>
<h3>3. 解密一帧数据包</h3>
<ul>
<li>
<p><strong>API接口名:</strong>
int maefProxyDecrypt(void<em> handle, byte</em> encryptframe, byte<em> decryptbuf, int</em> decryptlen);</p>
</li>
<li><strong>参数:</strong></li>
</ul>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">handle</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">句柄指针</td>
<td>加密的句柄</td>
</tr>
<tr>
<td style="text-align: left;">encryptframe</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">字节缓冲区</td>
<td>加密的完整帧缓存数据</td>
</tr>
<tr>
<td style="text-align: left;">decryptbuf</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">字节缓存区</td>
<td>存放解密后的数据</td>
</tr>
<tr>
<td style="text-align: left;">decryptlen</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">int</td>
<td>解密后的数据长度</td>
</tr>
</tbody>
</table>
<ul>
<li><strong>返回值:</strong></li>
</ul>
<table>
<thead>
<tr>
<th style="text-align: center;">返回值</th>
<th style="text-align: center;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center;">0</td>
<td style="text-align: center;">成功</td>
</tr>
<tr>
<td style="text-align: center;">其他</td>
<td style="text-align: center;">失败</td>
</tr>
</tbody>
</table>
<h3>4. 获取待解密帧中数据长度</h3>
<ul>
<li>
<p><strong>API接口名:</strong>
int maefProxyGetDataSize(byte* encryptframe);</p>
</li>
<li><strong>参数:</strong></li>
</ul>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">encryptframe</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">字节缓存区</td>
<td>加密的完整帧数据</td>
</tr>
</tbody>
</table>
<ul>
<li><strong>返回值:</strong></li>
</ul>
<table>
<thead>
<tr>
<th style="text-align: center;">返回值</th>
<th style="text-align: center;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center;">>0</td>
<td style="text-align: center;">返回加密帧里的数据长度</td>
</tr>
<tr>
<td style="text-align: center;">其他</td>
<td style="text-align: center;">失败</td>
</tr>
</tbody>
</table>
<h3>5. 释放解密句柄</h3>
<ul>
<li>
<p><strong>API接口名:</strong>
int maefProxyDestory(void** handle);</p>
</li>
<li><strong>参数:</strong></li>
</ul>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">handle</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">指针句柄</td>
<td>解密库的句柄由maefProxyCreate()创建,此接口释放句柄相关资源</td>
</tr>
</tbody>
</table>
<ul>
<li><strong>返回值:</strong></li>
</ul>
<table>
<thead>
<tr>
<th style="text-align: center;">返回值</th>
<th style="text-align: center;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center;">0</td>
<td style="text-align: center;">成功</td>
</tr>
<tr>
<td style="text-align: center;">其他</td>
<td style="text-align: center;">失败</td>
</tr>
</tbody>
</table>