google play 支付签名验证

app端支付成功会有一个Purchase对象,里面有购买令牌(purchaseToken)和其他参数,如下 JSONObject jsonObject=new JSONObject(); try { jsonObject.put("packageName", purchase.getPackageName()); jsonObject.put("purchaseToken", purchase.getPurchaseToken()); jsonObject.put("signature", purchase.getSignature()); jsonObject...

对接google play支付

这里假如你已经有上架Google play的app,准备对接应用内商品(非订阅) 设置 Google Play 开发者帐号 在 Google 付款中心设置付款资料 在 Google Play 管理中心内启用结算相关功能 设置开发者帐号后,您必须发布包含 Google Play 结算库的应用版本。如需在 Google Play 管理中心启用结算相关功能(如配置您要销售的商品),必须执行此步骤。 添加库依赖项 将依赖项添加到应用的 build.gradle 文件中,如下所示: dependencies { def billing_version = "5.0.0" impleme...

根据srt字幕生成语音,并保持原有的时间间隔

制作短视频时,配音是个麻烦事儿,比如我,我不想用自己的声音 下面介绍这个语音助手可以很方便的实现 AI 配音 最近微软的“云希”火了,各大短视频平台上 讲故事的,影视剪辑的,配音都是用的“云希”,效果非常好。鉴于此,语音助手 也使用了微软的 SDK,除了云希,还有十多种声音可以选择 生成srt字幕 如下图,点击按钮后开始说话,说完再次点击按钮即可生成字幕和语音,字幕可以分享到微信,也可以通过手机的文件管理器查看;语音是自己的声音,不想要可以不用理会。 假如,原创字幕文案准备好了,无声音的短视频也准备好了(在电脑上,或另一部手机上),我是这样生成srt字幕的:两只手,一只手按短视频的播放按钮,另...

语音助手 - 变声器、文字转语音、语音转文字、字幕翻译

我的新作品《语音助手》上架Google Play了,欢迎下载体验 主要功能 文字转语音:支持10多种声音选择;中英双语/ssml/srt字幕转语音;支持长文本 语音转文字:实时语音转文字,并支持导出SRT字幕,支持批量听录 语音翻译:译文实时输出,可导出 SRT 字幕 悬浮窗:生成语音后,可以在第三方app上方播放,以实现变声的效果 文字识别:采用OCR技术自动识别图片上的文字 我的:管理自己的文本及语音 下载链接

H5的音视频播放器 —— MediaElement.js

首先,只需嵌入标签或标签就可以实现媒体播放器。但是这样在不同浏览器下呈现的效果会有差异,为了让每个浏览器下都有一致的效果,我们选择了MediaElement.js mediaelement HTML5 audio and video players in pure HTML and CSS. MediaElementPlayer.js uses the same HTML/CSS for all players. 使用方法 简单的使用只需要引入两个文件,获取最新版本的文件 直接用他们的文件,几个图标可能显示不出来。打开mediaelement-and-player.min.js文件,...

Fragment中使用startActivityForResult

在Fragment中使用startActivityForResult之后,onActivityResult的调用是从activity中开始的(即会先调用activity中的onActivityResult)。 一.只嵌套了一层Fragment(比如activity中使用了viewPager,viewPager中添加了几个Fragment) 在这种情况下要注意几个点: 1.在Fragment中使用startActivityForResult的时候,不要使用getActivity().startActivityForResult,而是应该直接使startActivityForResult()。 2...

GridView某个单元格的选中状态受到键盘影响

GridView如何设置某个单元格为选中状态? 首先,该组件自带的gridview.setSelector(R.color.orange);,可以设置选中;但如果页面上同时有输入控件,比如EditText,这时GridView的选中状态就会受到键盘影响,比如当前GridView的某个单元格为选中状态,拉起/收回 键盘,这个选中状态会自动取消,下面介绍一种方法: gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(Ad...

MediaPlayer播放音频文件

播放应用的资源文件 法1. 直接调用create函数实例化一个MediaPlayer对象,播放位于res/raw/test.mp3文件 MediaPlayer mMediaPlayer = MediaPlayer.create(this, R.raw.test); 法2. test.mp3放在res/raw/目录下,使用setDataSource(Context context, Uri uri) mp = new MediaPlayer(); Uri setDataSourceuri = Uri.parse("android.resource://com.android.sim/"+R...

SimpleAdapter加载网络图片

要实现加载网络图片,需要使用SimpleAdapter中的setViewBinder()方法 SimpleAdapter simpleAdapter = new SimpleAdapter(this.getActivity(), menuList, //数据源 R.layout.grid_item, //xml实现 new String[]{"avatar", "name", "memo"}, //对应map的Key new int[]{R.id.av...

跟踪代码管理器 —— Google Tag Manager

平时网站上避免不了要嵌入第三方代码,比如 对接 百度统计 对接 Google Analytics 对接 Google AdSense 对接 百度联盟 站长工具添加站点 等等… 这些都需要在网页头部或底部添加代码,对接的多了,页面上会有很多这样的代码, Google Tag Manager 就是管理这些代码的,只需要在页面上添加Google Tag Manager的代码,以后想对接什么,直接在Google Tag Manager后台添加即可。