小编gos*_*som的帖子

Android AudioRecord用于记录呼叫的设置

我使用AudioRecord类在通话期间录制语音.

我很想记录拥有手机的人的声音(来自麦克风).在录制过程中,我想做一些音频处理,但现在这是offtopic.

Android具有以下AudioSources选项:

  • MediaRecorder.AudioSource.VOICE_CALL
  • MediaRecorder.AudioSource.MIC
  • MediaRecorder.AudioSource.VOICE_UPLINK
  • MediaRecorder.AudioSource.VOICE_DOWNLINK

你能解释一下它们之间的区别吗?好的MIC显而易见但VOICE_CALL vs VOICE_UPLINK vs VOICE_DOWNLINK?

另外我应该选择采样率(8000Hz,16000Hz,2250Hz,44100Hz).你能告诉我选择什么样的采样率以及为什么?

对于音频格式,我选择了AudioFormat.ENCODING_PCM_16BIT,但它也有: - AudioFormat.ENCODING_DEFAULT - AudioFormat.ENCODING_INVALID - AudioFormat.ENCODING_PCM_8BIT

最后我应该使用多少个频道?为什么?(AudioFormat.CHANNEL_IN_STEREO或AudioFormat.CHANNEL_IN_MONO)

android signal-processing audio-recording android-audiorecord

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

SqlAlchemy,AttributeError:'tuple'对象没有属性'foreign_keys'

我有以下模型来描述我的数据库模式:

from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String, ForeignKey
from sqlalchemy.orm import relationship, backref
import sqlalchemy.dialects.mysql as mysql

Base = declarative_base()

class Country(Base):
    __tablename__ = 'countries'
    __table_args__ = {  
        'mysql_engine': 'InnoDB',  
        'mysql_charset': 'utf8'  
    }   

    id = Column(mysql.TINYINT(unsigned=True), primary_key=True)
    name = Column(mysql.VARCHAR(30), nullable=False)
    competitions = relationship('Competition', backref='country')


class Competition(Base):
    __tablename__ = 'competitions'
    __table_args__ = {  
        'mysql_engine': 'InnoDB',  
        'mysql_charset': 'utf8'  
    }   

    id = Column(mysql.INTEGER(unsigned=True), primary_key=True)
    name = Column(mysql.VARCHAR(30), nullable=False)
    country_id = Column(mysql.TINYINT(unsigned=True), ForeignKey('countries.id'))
    teams = relationship('Team', backref("competition") )


class …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

10
推荐指数
1
解决办法
8953
查看次数

Jquery数据表格式编号

我使用最新的Datatables插件1.10版本.

我有3列(0,1,2).第1列和第2列包含的数字应格式为:

1000 -> 1.000
10000 -> 10.000
Run Code Online (Sandbox Code Playgroud)

我搜索了文档,发现了这些相关的功能:

https://datatables.net/reference/option/formatNumber

https://datatables.net/reference/option/language.thousands

是否自动检测需要格式化的列?

上述功能的正确用法是什么?

jquery jquery-datatables

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

找不到类型wsdl python suds client - suds.TypeNotFound

我想使用以下描述的Web服务:

http://www.content.de/api/clientservices.php?wsdl

我使用python 2.7.x和肥皂水 版本0.4.

我尝试了什么1

from suds.client import Client
url = 'http://www.content.de/api/clientservices.php?wsdl'
client = Client(url) 
Run Code Online (Sandbox Code Playgroud)

结果

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/xubuntu/.virtualenvs/adwiz/local/lib/python2.7/site-packages/suds/client.py", line 119, in __init__
sd = ServiceDefinition(self.wsdl, s)
File "/home/xubuntu/.virtualenvs/adwiz/local/lib/python2.7/site-packages/suds/servicedefinition.py", line 57, in __init__
self.addports()
File "/home/xubuntu/.virtualenvs/adwiz/local/lib/python2.7/site-packages/suds/servicedefinition.py", line 85, in addports
method = (m.name, binding.param_defs(m))
File "/home/xubuntu/.virtualenvs/adwiz/local/lib/python2.7/site-packages/suds/bindings/rpc.py", line 39, in param_defs          
return self.bodypart_types(method)
File "/home/xubuntu/.virtualenvs/adwiz/local/lib/python2.7/site-packages/suds/bindings/binding.py", line 441, in bodypart_types 
raise TypeNotFound(query.ref)
suds.TypeNotFound: Type not found: '(, http://www.w3.org/2001/XMLSchema, )' …
Run Code Online (Sandbox Code Playgroud)

python soap wsdl web-services suds

5
推荐指数
0
解决办法
943
查看次数

Selenium获取http响应标头或访问浏览器的下载历史记录

我使用python 2.7和下载的selenium驱动程序

pip install selenium
Run Code Online (Sandbox Code Playgroud)

如何从Web请求中获取http标头.

特别是我单击一个按钮/链接,服务器回复包含csv文件的响应.

如果我可以从http标头获取文件名,那将是非常棒的.

另一种选择是访问浏览器的下载历史记录.

有什么想法可以实现上述目标吗?

selenium selenium-webdriver

5
推荐指数
1
解决办法
2768
查看次数

跨线程的金字塔全局对象共享

我有一个小金字塔网络服务.

我还有一个python类,它创建了一个项目和方法的索引,可以快速搜索它们.就像是:

class MyCorpus(object):

    def __init__(self):
        self.table = AwesomeDataStructure()

    def insert(self):
        self.table.push_back(1)

    def find(self, needle):
        return self.table.find(needle)
Run Code Online (Sandbox Code Playgroud)

我想把上面的课程暴露给我的api.

我只能创建该类的一个实例(内存限制).

所以我需要能够在服务器启动之前实例化这个类.我的线程应该能够访问它.

我还需要一些锁定机制(不支持并发插入).

实现这一目标的最佳方法是什么?

python pyramid

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

基于最高有效位存储和查询整数的合适数据结构

给定N 个64 位无符号整数,我希望将它们有效地存储在数据结构D中,并能够执行以下查询:

给定一个整数A,返回D中至少k 个最高有效位相同的所有整数。

例如,如果有一个包含 3 个 64 位整数的列表:

a. 1010010000000000010000000000000000000000100000000000000000000001
b. 0000000100001000000000010000000000000000000000000000000000000001
c. 1010010100000000000000010000000000000000000000000000000000000001
Run Code Online (Sandbox Code Playgroud)

查询A是:

1010010000000000000000010000000000000000000000000000000000000001
Run Code Online (Sandbox Code Playgroud)

我们选择 k = 7

它应该返回一个包含 2 个元素的列表:

a.1010010000000000010000000000000000000000100000000000000000000001
c.1010010100000000000000010000000000000000000000000000000000000001
Run Code Online (Sandbox Code Playgroud)

如果查询 A1 是:

0010010000000000000000010000000000000000000000000000000000000001
Run Code Online (Sandbox Code Playgroud)

k = 2

它应该返回一个包含一个元素的列表:

b. 0000000100001000000000010000000000000000000000000000000000000001
Run Code Online (Sandbox Code Playgroud)

如果查询 A2 是:

1110010000000000000000010000000000000000000000000000000000000001
Run Code Online (Sandbox Code Playgroud)

k = 3

它应该返回一个空列表。

N 的大小应为 5000 万个整数的量级。

你能指出最合适的数据结构吗?另外,如果我可以在创建数据结构 D 后对其进行插入/删除,那就太好了。

algorithm tree hashmap trie data-structures

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

PySide和python日志记录

我想使用PySide创建一个简单的应用程序,只是为了从python日志记录输出.

def mpm_print():
    print 'OK'

def mpm_log():
   log.info('OK')

class LabWindow(QtGui.QMainWindow):
    def __init__(self):
        super(LabWindow, self).__init__()

        self.initUI()
        mpm_print()
        mpm_log()

    def initUI(self):

        font = QtGui.QFont()
        font.setFamily("Courier")
        font.setFixedPitch(True)
        font.setPointSize(10)

        self.qtxt = QtGui.QTextEdit(self)
        self.qtxt.resize(self.size())
        self.qtxt.setReadOnly(True)
        self.qtxt.setFont(font)

        self.resize(640, 512)
        self.setWindowTitle('Efficient Algorithms Lab')

        self.show()
Run Code Online (Sandbox Code Playgroud)

我想知道:

  • 如何重定向stdout以写入QTextEdit?
  • 如何编写logging.Handler来登录QTextEdit?

谢谢

python qt pyside

3
推荐指数
1
解决办法
4086
查看次数

Python多进程内存增加

我有一个应该永远运行的程序.这是我在做的事情:

from myfuncs import do, process

class Worker(multiprocessing.Process):

    def __init__(self, lock):
        multiprocesing.Process.__init__(self)
        self.lock = lock
        self.queue = Redis(..) # this is a redis based queue
        self.res_queue = Redis(...)

     def run():
         while True:
             job = self.queue.get(block=True)
             job.results = process(job)
             with self.lock:
                 post_process(self.res_queue, job)


def main():
    lock = multiprocessing.Semaphore(1)
    ps = [Worker(lock) for _ in xrange(4)]
    [p.start() for p in ps]
    [p.join() for p in ps]
Run Code Online (Sandbox Code Playgroud)

self.queue和self.res_queue是两个与python stdlib Queue类似的对象,但它们使用Redis数据库作为后端.

函数进程对作业所承载的数据(主要是html解析)进行一些处理并返回字典.

函数post_process通过检查某些条件将作业写入另一个redis队列(一次只有一个进程可以检查锁定原因的条件).它返回True/False.

该程序每天使用的内存正在增加.有人可以弄清楚发生了什么吗?

当运行方法中的作业超出范围时,内存应该是免费的吗?

python memory multiprocessing

2
推荐指数
1
解决办法
795
查看次数