mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-05-02 20:02:37 +08:00
✨ #1287 公众号模块新增下载微信jssdk上传的高清语音素材的接口
* 新增下载微信jssdk上传的高清语音素材的接口,格式为.speex * 添加高清语音接口测试代码
This commit is contained in:
parent
0c18330deb
commit
4f280bb939
@ -88,6 +88,22 @@ public interface WxMpMaterialService {
|
||||
*/
|
||||
File mediaDownload(String mediaId) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 获取高清语音素材
|
||||
* 公众号可以使用本接口获取从JSSDK的uploadVoice接口上传的临时语音素材,格式为speex,16K采样率。
|
||||
* 该音频比上文的临时素材获取接口(格式为amr,8K采样率)更加清晰,适合用作语音识别等对音质要求较高的业务。
|
||||
* 详情请见: <a href="https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/Get_temporary_materials.html">
|
||||
* 获取高清语音素材</a>
|
||||
* 接口url格式:https://api.weixin.qq.com/cgi-bin/media/get/jssdk?access_token=ACCESS_TOKEN&media_id=MEDIA_ID
|
||||
* </pre>
|
||||
*
|
||||
* @param mediaId 媒体文件Id
|
||||
* @return 保存到本地的临时文件
|
||||
* @throws WxErrorException
|
||||
*/
|
||||
File jssdkMediaDownload(String mediaId) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 上传图文消息内的图片获取URL
|
||||
|
@ -65,6 +65,14 @@ public class WxMpMaterialServiceImpl implements WxMpMaterialService {
|
||||
"media_id=" + mediaId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public File jssdkMediaDownload(String mediaId) throws WxErrorException {
|
||||
return this.wxMpService.execute(
|
||||
BaseMediaDownloadRequestExecutor.create(this.wxMpService.getRequestHttp(), this.wxMpService.getWxMpConfigStorage().getTmpDirFile()),
|
||||
JSSDK_MEDIA_GET_URL,
|
||||
"media_id=" + mediaId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxMediaImgUploadResult mediaImgUpload(File file) throws WxErrorException {
|
||||
return this.wxMpService.execute(MediaImgUploadRequestExecutor.create(this.wxMpService.getRequestHttp()), IMG_UPLOAD_URL, file);
|
||||
|
@ -819,6 +819,10 @@ public interface WxMpApiUrl {
|
||||
* get.
|
||||
*/
|
||||
MEDIA_GET_URL(API_DEFAULT_HOST_URL, "/cgi-bin/media/get"),
|
||||
/**
|
||||
* jssdk media get.
|
||||
*/
|
||||
JSSDK_MEDIA_GET_URL(API_DEFAULT_HOST_URL, "/cgi-bin/media/get/jssdk"),
|
||||
/**
|
||||
* upload.
|
||||
*/
|
||||
|
@ -44,6 +44,8 @@ public class WxMpMaterialServiceImplTest {
|
||||
private WxMpMaterialCountResult wxMaterialCountResultBeforeTest;
|
||||
// 以下为media接口的测试
|
||||
private List<String> mediaIdsToDownload = new ArrayList<>();
|
||||
// 以下为高清语音接口的测试
|
||||
private List<String> voiceMediaIdsToDownload = new ArrayList<>();
|
||||
|
||||
@DataProvider
|
||||
public Object[][] mediaFiles() {
|
||||
@ -289,6 +291,11 @@ public class WxMpMaterialServiceImplTest {
|
||||
if (res.getMediaId() != null && !mediaType.equals(WxConsts.MediaFileType.VIDEO)) {
|
||||
//video 不支持下载,所以不加入
|
||||
this.mediaIdsToDownload.add(res.getMediaId());
|
||||
|
||||
// 音频media, 用于测试下载高清语音接口
|
||||
if (mediaType.equals(WxConsts.MediaFileType.VOICE)) {
|
||||
this.voiceMediaIdsToDownload.add(res.getMediaId());
|
||||
}
|
||||
}
|
||||
|
||||
if (res.getThumbMediaId() != null) {
|
||||
@ -308,10 +315,26 @@ public class WxMpMaterialServiceImplTest {
|
||||
return params;
|
||||
}
|
||||
|
||||
@DataProvider
|
||||
public Object[][] downloadJssdkMedia() {
|
||||
Object[][] params = new Object[this.voiceMediaIdsToDownload.size()][];
|
||||
for (int i = 0; i < this.voiceMediaIdsToDownload.size(); i++) {
|
||||
params[i] = new Object[]{this.voiceMediaIdsToDownload.get(i)};
|
||||
}
|
||||
return params;
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = {"testUploadMedia"}, dataProvider = "downloadMedia")
|
||||
public void testDownloadMedia(String mediaId) throws WxErrorException {
|
||||
File file = this.wxService.getMaterialService().mediaDownload(mediaId);
|
||||
assertNotNull(file);
|
||||
System.out.println(file.getAbsolutePath());
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = {"testUploadMedia"}, dataProvider = "downloadJssdkMedia")
|
||||
public void testDownloadJssdkMedia(String mediaId) throws WxErrorException {
|
||||
File file = this.wxService.getMaterialService().jssdkMediaDownload(mediaId);
|
||||
assertNotNull(file);
|
||||
System.out.println(file.getAbsolutePath());
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user