利用ffmpeg检查mp3的codec是否为mp3的python的脚本

很简单如下:就是执行命令,然后检查。执行shell命令时文件名中的空格就很悲剧,要用”””转义

 

import  sys

import os

import commands

 

print ‘hello’

for i in sys.argv:

    print i

#

f = open(‘error_file’, ‘w’)

str = os.popen(“ls”).read();

filesList = str.split(“n”);

for file in filesList:

        if (file.find(“.mp3”) > 0):

                mp3Info = commands.getoutput(“ffmpeg -i ” + “”” + file + “””);

                print file;

                #print ‘mp3info = ‘

                #print  mp3Info

                if (not (mp3Info.find(“Audio: mp3”) > 0)):

                        f.write(file + ‘n’)

 

f.close()

android mat

怀疑内存泄漏,使用了一个mat。。。原来木有怎么用过,呵呵

主要有一点,就是通过ddms 点击dump hprof时生成的hprof文件 mat 不认。。。我x。。。搜了一下,才发现要通过android tools里面的小工具转换一下才行,呵呵

如下:hprof-conv in.hprof out.hprof 这样就能打开了!呵呵。

mat下载在这里:http://www.eclipse.org/mat/downloads.php

被线程同步的问题搞死了都快。。。我X

小米扩展包之 求同存异

恩,事情是这个样子,出来了米杀v2,我想今天试一下。但是大部分人的意思是先做成牌,然后再玩,

然后我就很愤怒,想的技能不就是用来打的吗?跟做出来有什么关系?难道是借口?拖延,然后就相当的失望。disapiontment….

我的想法是先打打,试一下技能,然后再做修改,最后做成纸牌。

但大家的意思是先做成牌,然后再玩。。。你妈。。。

 

现在又想了想。。。别人跟我的想法不一样,大家习惯了看卡打牌,他们也不管是不是平衡,只管看到牌,恩,打!!!恩,求同存异。。。

下面还是先做出来吧。。。X。。。

 

最重要的不是技能是否有创意,游戏是否平衡,而是是否做出来,能玩!!!x。。。。

三国杀之小米扩展包 v2 版

小米展包:

 

沫沫:3

摘花采果:每受一点。可看上任意一个人的一手牌,黑色则归为己有,为红弃之。(比司的反馈还弱哎。。。

红颜祸: 使用色的杀时,方需要出两个才可抵消.

 

大芮:3

胡打:在自己回合,有且只有一次机会将一手牌作其上一牌打出。(比如打了一南蛮,可以再扔一牌,相当于上一牌又打了一次)在自己回合外,不限次数。

操蛋(限定技):指定除主公外的任意两名角色角色。

(主公技):所有女性角色,可以在她回合你吃桃回血。

 

然: 3

明察秋豪:在回合开始前,可以看一个玩家的牌。 继续阅读“三国杀之小米扩展包 v2 版”

android 控件

gallery 的默认child 都为 wrap_content

viewPager child的param 默认为 fill_parent

有疑问时仅供参考

无论你xml怎么设,他们默认都是这个param。。。

android程序使用gae

Google plugin for eclipse 这个插件很牛,使我们直接创建 android连接 gae的程序,他会建立两个project,一个是android,一个是webApp。

google 相关 doc在:https://developers.google.com/eclipse/docs/appengine_connected_android

教学视频在:http://www.youtube.com/watch?v=M7SxNNC429U

文本在:http://bradabrams.com/2011/05/google-io-session-overview-android-app-engine-a-developers-dream-combination/

理论中跟着教程走就ok,但是小弟发现有几个坑在里面,很奇怪。。。他是怎么演示成功的?fuck。。。

1.新建 App Engine Connected Android Project 时提示android-sdk-mac/tools/lib/proguard.cfg (not found), 这个很坑爹,绝对是插件问题。在其它的android项目中都有这个proguard.cfg,随便找一个拷贝到那里就ok了,否则很难搞。 继续阅读“android程序使用gae”

实现跟手的TabActivity效果

 

 author by afei

利用 android-support-v4 中的ViewPager可以轻松的实现跟手滑动。但是只支持 View 和 Fragment(也是利用view)。

 

之前也考虑过使用 ViewFliping 和 gallery ,但是都要将Activity转成View才可以。但是这样就会失去activity的特性。思来想后,还是改成Fragment靠谱点。

 

总体思路是这样:将本来放在TabActivity中的Activity们都改成 Fragment, 然后修改TabActivity,使其TabHost中content和width和height为0,然后把pager和tabHost关联起来。很trick。。。但是效果达到。

 

 

关键是如何修改activity至fragment,有没有这个可行性?

答案是必须应该可以的!万一有问题,也是可以商量的嘛。。。

1.将 extends Activity 改为 extends Fragment, 如果是 ListActivity 就改为 ListFragment。。。这明显就是为了修改方便啊。。。

2.一定会有XX出现,但是一定不多,fragment 的生命周期和 activity 很相似,包括onActivityResult() onStart() onPause() 等等。都有。

这里主要在onCreate()中,因为我们onCreate() 中会有 setContent(R.layout.layout_id) 恩,这里一定会报错,因为在fragment中单独抽出来了一个函数 onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState),把跟初始化view的相关代码都考到这个函数中就ok了,简单啊。将setContent 变为 inflater.inflate(R.layout.choose_accompany_layout, null) 然后return就ok。

3.最后一步,我们的代码中会有一些用到activity 和context 的地方,比如 getContentResolver() 和 其它的函数,这里只需要变为 getActivity() 就ok。因为fragment 中会和 外界的activity绑定起来。直接调用就可以。

修改完毕!!!

 

 

继承 FragmentTabsPager(代码在ChannelCommon中), 在onCreate()中调用 addTab(), 需要几个tab页就加入几次,然后这可以完美实现跟手滑动的tabActivity效果了!!!哇哈哈。

 

 

FragmentTabsPager 代码 : 继续阅读“实现跟手的TabActivity效果”

micolog绑定域名

 

这个说起来很悲剧。。。因为只有google for business 才可以使用这项功能。而要申请这种帐户必须要有自己的独立域名才行,如果没有就没戏了。。。呵呵

本来每一个engine app 都有一个 appname.appspot.com 的子域名,但是很遗憾被某防火墙给封了。。。将www.afeihehe.com直接CNAME到 afeihehe1234en.appspot.com是不行的,因为google服务器不允许这样瞎搞。。。

主要是利用google的一项服务。把自己的域名CNAME到ghs.google.com, 然后在google的gae服务中配置将www.afeihehe.com 重定向到 afeihehe1234en.appspot.com, 这样才可以。原理就是这样。

因为ghs.google.com现在能用,之前也是时断时续的。。。所以现在也可以这样翻墙。

所以现在 www.afeihehe.com 是可以访问的,呵呵

具体可见这些文章:

http://hi.baidu.com/foxvip/blog/item/bfa09a25adb16d6f34a80f89.html

http://www.lylzone.info/2011/02/17/appspotbeiqiang.html (主要是第二种)

http://iyouf.info/bind-domain.html

http://hi.baidu.com/zhexuezhishen/blog/item/2be69e81f65ffcc09023d97d.html