标签: decode

Android上的MP3解码

我们正在实施Android手机程序,播放从互联网流式传输的音频.这是我们的大致工作:

  1. 下载自定义加密格式.
  2. 解密得到大量常规MP3数据.
  3. 将MP3数据解码为内存缓冲区中的原始PCM数据.
  4. 将原始PCM数据传输到AudioTrack

到目前为止,我们的目标设备是Droid和Nexus One.在Nexus One上一切都很棒,但在Droid上MP3解码速度太慢了.如果我们把Droid放在负载下,音频播放就会开始跳过.我们不允许将MP3数据解码为SD卡,但我知道这不是我们的问题.

我们没有编写自己的MP3解码器,而是使用了MPADEC(http://sourceforge.net/projects/mpadec/).它是免费的,很容易与我们的程序集成.我们用NDK编译它.

在使用各种分析工具进行详尽分析后,我们确信这个解码器落后了.

以下是我们正在考虑的选项:

  1. 找到我们可以使用Android NDK编译的另一个MP3解码器.此MP3解码器必须经过优化才能在移动ARM设备上运行,或者可能使用仅整数数学或其他一些优化来提高性能.

  2. 由于内置的​​Android MediaPlayer服务将采用URL,我们可能能够在我们的程序中实现一个小型HTTP服务器,并使用解密的MP3为MediaPlayer提供服务.这样我们就可以利用内置的MP3解码器.

  3. 通过NDK访问内置MP3解码器.我不知道这是否可行.

有没有人对我们如何加速MP3解码有任何建议?

- Rob Sz

mp3 android decode android-ndk

29
推荐指数
1
解决办法
1万
查看次数

Android - 如何解码和反编译任何APK文件?

我正在处理广告:我的客户向我提供了他们应用的一些APK文件.
我的工作包括在其中插入广告横幅.
关闭广告横幅后,这些应用将会运行.

我的问题是:如何解码和反编译APK文件?

android decode decompiler apk

29
推荐指数
2
解决办法
10万
查看次数

适用于.NET的最快PNG解码器

在将结果发送到Web客户端之前,我们的Web服务器需要将大量图像组合在一起.此过程对性能至关重要,因为服务器每小时可以接收数千个请求.

现在我们的解决方案从HD加载PNG文件(每个大约1MB)并将它们发送到视频卡,以便在GPU上完成合成.我们首先尝试使用XNA API公开的PNG解码器加载我们的图像.我们看到表现不太好.

要了解问题是从HD加载还是解码PNG,我们通过将文件加载到内存流中,然后将该内存流发送到.NET PNG解码器来修改它.使用XNA或使用System.Windows.Media.Imaging.PngBitmapDecoder类的性能差异并不重要.我们大致获得相同的性能水平.

我们的基准测试显示以下性能结果:

  • 从磁盘加载图像:37.76ms 1%
  • 解码PNG:2816.97ms 77%
  • 在视频硬件上加载图像:196.67ms 5%
  • 成分:87.80ms 2%
  • 从视频硬件获取作品结果:166.21ms 5%
  • 编码为PNG:318.13ms 9%
  • 存储到磁盘:3.96ms 0%
  • 清理:53.00ms 1%

总计:3680.50ms 100%

从这些结果中我们看到最慢的部分是在解码PNG时.

所以我们想知道是否会有我们可以使用的PNG解码器,这将允许我们减少PNG解码时间.我们还考虑将图像保持在硬盘上不压缩,但是每个图像的大小为10MB而不是1MB,并且由于硬盘上存储了数万个这样的图像,因此无法存储它们.压缩.

编辑:更有用的信息:

  • 基准测试模拟加载20个PNG图像并将它们合成在一起.这大致对应于我们将在生产环境中获得的请求类型.
  • 组合物中使用的每个图像的尺寸为1600×1600.
  • 该解决方案将涉及多达10个负载平衡服务器,就像我们在这里讨论的那样.因此额外的软件开发工作可能值得节省硬件成本.
  • 我们正在考虑缓存解码的源图像,但每种组合很可能使用完全不同的源图像完成,因此缓存未命中率高,性能提升低.
  • 基准测试是用一个糟糕的视频卡完成的,所以我们可以期待使用体面的视频卡将PNG解码更加成为性能瓶颈.

c# performance png decode decoding

27
推荐指数
2
解决办法
5584
查看次数

将utf-8编码的文本加载到MySQL表中

我有一个大的CSV文件,我将把它加载到MySQL表中.但是,这些数据被编码为utf-8格式,因为它们包含一些非英文字符.我已经将表中相应列的字符集设置为utf-8.但是当我加载我的文件.非英语字符变成奇怪的字符(当我对表行进行选择时).在加载到表中之前,是否需要对数据进行编码?如果是,我怎么能这样做.我使用Python加载数据并使用LOAD DATA LOCAL INFILE命令.谢谢

mysql encode decode utf-8

26
推荐指数
2
解决办法
5万
查看次数

在PHP中处理电子邮件解析/解码的最佳方法?

目前我正在使用PEAR库的mimeDecode.php来解析传入的电子邮件.它似乎有很多问题,无法解码很多消息,所以我想用更好的东西替换它.

我正在寻找能够正确分离消息部分的东西,例如to,from,body等.理想情况下,它可以处理所有常见的编码方法,如base64,uuencode,quoted printable等.

在同一消息的纯文本和html版本都包含在一封电子邮件中的情况下,我最好知道它们之间的区别,以便我可以选择我希望显示的部分.

我现在并不担心附件,但如果我想在将来实现它,那么了解它们会很好.

我看到PHP有一组以imap开头的函数,看起来它们可能会按照我的意愿行事,但我不确定如何不试用它们.

目前我正在对PHP中的消息进行动态解码,这就是我正在寻找PHP替代解决方案的原因.

有没有人有这方面的经验可以指出我正确的方向?我不想开始使用从长远来看不会做我需要的东西.

php email mime decode

25
推荐指数
3
解决办法
3万
查看次数

在APK内编码/解码AndroidManifest.xml

我正在使用ApkToolAndroidManifest.xml在APK文件中进行解码并且它工作得很好但是我怎么能再次编码它,就像之前编码一样,应用了一些更改后呢?例如(在我的情况下)更改应用程序标签.

android encode decode android-manifest apk

24
推荐指数
1
解决办法
4万
查看次数

decodeAudioData HTML5音频API

我想从ArrayBuffer播放音频数据...所以我生成我的数组并用微缩输入填充它.如果我在画布上绘制这些数据,它看起来像 - > 在此输入图像描述

这样可行!

但是,如果我想听这个数据

context.decodeAudioData(tmp, function(bufferN) { //tmp is a arrayBuffer
    var out = context.createBufferSource();
    out.buffer = bufferN;
    out.connect(context.destination);
    out.noteOn(0);
}, errorFunction);
Run Code Online (Sandbox Code Playgroud)

我听不到任何声音......因为调用了errorFunction.但错误是空的!

我也试着像这样得到缓冲区:

var soundBuffer = context.createBuffer(myArrayBuffer, true/*make mono*/);
Run Code Online (Sandbox Code Playgroud)

但我得到错误:Uncaught SyntaxError:指定了无效或非法字符串.

谁能给我一个暗示?

编辑1(更多代码以及我如何获得麦克风输入):

 navigator.webkitGetUserMedia({audio: true}, function(stream) {

                liveSource = context.createMediaStreamSource(stream);

                // create a ScriptProcessorNode
                if(!context.createScriptProcessor){
                   node = context.createJavaScriptNode(2048, 1, 1);
                } else {
                   node = context.createScriptProcessor(2048, 1, 1);
                }


                node.onaudioprocess = function(e){

               var tmp = new Uint8Array(e.inputBuffer.byteLength);
               tmp.set(new      Uint8Array(e.inputBuffer.byteLength), 0);

   //Here comes the code from above.
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

javascript html5 buffer decode html5-audio

23
推荐指数
1
解决办法
7964
查看次数

在Python中解码双重编码的utf8

我遇到的问题是我通过xmlrpc从我的一个客户端获得的字符串.他给我发了两次编码的utf8字符串:(所以当我在python中得到它们时,我有一个unicode对象,必须再次解码,但很明显python不允许这样.我注意到了我的客户端但是我需要在修复它之前,现在就做快速的解决方法.

来自tcp转储的原始字符串:

<string>Rafa\xc3\x85\xc2\x82</string>
Run Code Online (Sandbox Code Playgroud)

这被转换成:

u'Rafa\xc5\x82'
Run Code Online (Sandbox Code Playgroud)

我们得到的最好的是:

eval(repr(u'Rafa\xc5\x82')[1:]).decode("utf8") 
Run Code Online (Sandbox Code Playgroud)

这导致正确的字符串是:

u'Rafa\u0142' 
Run Code Online (Sandbox Code Playgroud)

然而,这种作品很丑陋,不能在生产代码中使用.如果有人知道如何以更合适的方式解决这个问题,请写信.谢谢,克里斯

python string decode utf-8

22
推荐指数
1
解决办法
1万
查看次数

是否有更快的方法将html字符解码为字符串而不是Html.fromHtml()?

我使用Html.fromHtml(STRING).toString()将可能有或没有html和/或html实体的字符串转换为纯文本字符串.

这很慢,我想我最后的计算是平均花了大约22ms.对于大批这些,它可以添加超过一分钟.所以我正在寻找一个更快,性能更高的选项.

无论如何要加快速度还是有其他解码选择?

编辑: 由于似乎没有更快或专为性能而构建的内置方法,我将奖励任何可以指向我的图书馆方向的人:

  • 适用于Android
  • 许可免费使用
  • 比...快 Html.fromHtml(String).toString();

作为一个注释,我已经用这种方法尝试了Jsoup: Jsoup.parse(String).text()它速度较慢.

html string android decode html-entities

22
推荐指数
1
解决办法
1万
查看次数

由于解码不当,Wordpress搜索在特殊字符上失败

我正在实现Wordpress搜索功能.当我搜索文本" 分区 "(这是其中一个帖子中的文本)时,它返回"未找到结果"

现在进一步调查,我检查了核心文件: wp-includes/query.php => function parse_search()

并发现$ term被接收编码为:Division\xe2\x80\x99s

现在这个术语没有被正确解码.形成的最终SQL语句是:
(((test_posts.post_title LIKE'%Division\xe2\x80\x99s%')OR(test_posts.post_content LIKE'%Division\xe2\x80\x99s%')))

所以,我想解码特殊字符,以便成功搜索带有特殊字符的术语.

解码方法如:

  • $ string = urldecode($ string);
  • $ string = html_entity_decode($ string);
  • $ string = rawurldecode($ string);
  • $ string = base64_decode($ string);
  • $ string = utf8_decode($ string);

不工作.有没有可以帮助的插件/钩子/方法?

示例提供:

简单searchform.php文件在这里:

if (!defined('ABSPATH')) exit(0); 

global $wp_query;

$search_query = get_search_query();
$error = get_query_var('error'); ?>

<form role="search" method="get" class="search-form form-inline" action="<?php echo esc_url(home_url('/')); ?>">
    <input id="mod-search-searchword" type="search" size="30" class="inputbox search-query search-field" placeholder="search products, content" value="<?php echo …
Run Code Online (Sandbox Code Playgroud)

php string wordpress decode special-characters

22
推荐指数
1
解决办法
2750
查看次数