小编Dom*_*ber的帖子

关于Rails中Postgresql的准备声明

现在我正在从SQLite迁移到Postgresql,我遇到了这个问题.以下准备好的语句适用于SQLite:

id = 5
st = ActiveRecord::Base.connection.raw_connection.prepare("DELETE FROM my_table WHERE id = ?")
st.execute(id)
st.close
Run Code Online (Sandbox Code Playgroud)

不幸的是它不能与Postgresql一起使用 - 它在第2行引发了一个例外.我一直在寻找解决方案并遇到了这个:

id = 5
require 'pg'
conn = PG::Connection.open(:dbname => 'my_db_development')
conn.prepare('statement1', 'DELETE FROM my_table WHERE id = $1')
conn.exec_prepared('statement1', [ id ])
Run Code Online (Sandbox Code Playgroud)

这个在第3行失败.当我打印这样的异常时

rescue => ex
Run Code Online (Sandbox Code Playgroud)

ex包含这个

{"connection":{}}
Run Code Online (Sandbox Code Playgroud)

在命令行中执行SQL是有效的.知道我做错了什么吗?

提前致谢!

sql postgresql ruby-on-rails prepared-statement ruby-on-rails-3

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

产品变体:多种活动

我在gradle/android studio中使用Product Variants来实现以下项目设置:

  1. 两个应用程序,在一个Android工作室项目中80%相似.
  2. 每个应用程序都应该有自己的清单包路径(它们应该基本上像两个独立的应用程序 - 使用它自己的google api和推送键)

在我试图实现这个(占位符,多个清单)时,我已经遵循了多个教程,但没有任何作用.

在本教程之后,我做了以下工作:http: //www.kevinrschultz.com/blog/2014/03/23/using-android-content-providers-with-multiple-package-names/

我的build.gradle:

android {
compileSdkVersion 19
buildToolsVersion '20'

defaultConfig {
    minSdkVersion 10
    targetSdkVersion 19
    versionCode 1
    versionName "1.0"
}

buildTypes {
    release {
        runProguard false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
}

productFlavors {
    app1 {
        packageName "com.test.app1"
        //applicationId "com.test.app1"
    }

    app2 {
        packageName "com.test.app2"
        //applicationId "com.test.app2"
    }
}}
Run Code Online (Sandbox Code Playgroud)

在这里我的清单文件.

的src/main /清单:

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

<application>
</application>
Run Code Online (Sandbox Code Playgroud)

SRC/APP1 /清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        android:name="com.test.app1”
        android:allowBackup="true" …
Run Code Online (Sandbox Code Playgroud)

android gradle variants android-studio

7
推荐指数
1
解决办法
7369
查看次数

Rails + Devise + API +用户注册

我是ruby和rails的新手,到目前为止,我设法使用devise设置用户管理.现在我正在尝试集成对移动Android和iOS应用程序的支持.到目前为止,他们可以登录并注销并获取身份验证令牌.但除此之外,我还希望他们能够注册.

现在,据我了解,我必须做一个帖子

http://localhost:3000/users/sign_up
Run Code Online (Sandbox Code Playgroud)

这篇文章怎么样?我如何获得JSON响应?我在stackoverflow上找到了这个.

"utf8=?&authenticity_token=n5vXMnlzrXefnKQEV4SmVM8cFdHDCUxMYWEBMHp9fDw%3D&user[email]=asd%40fasd.org&user[password]=321&user[password_confirmation]=1233&commit=Sign+up"
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用 - 我收到消息"Bad request".关于这个例子,我也有几个问题.什么是authenticity_token?我怎么得到一个?这不是我想的设计令牌认证,因为用户此时甚至不能拥有一个.

此外,在成功登录后,我想将"注册成功"消息与生成的设计认证令牌捆绑在一起.所以我想我必须以某种方式扩展设计现有的注册控制器.

非常感谢你提前!

api mobile ruby-on-rails registration devise

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

当前的麦克风输入电平

如何在Ubuntu 12.04 LTS下通过shell命令获取麦克风的当前音频输入电平?

我检查了amixer来设置音量,但是在shell调用时找不到获取音频输入电平的方法.

先感谢您!

linux audio shell alsa

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

GStreamer Tee(多路复用器)

我正在尝试将视频流(来自我的网络摄像头)存储到MKV和FLV文件中.这意味着我必须在h264编码后拆分视频和音频管道,并使用不同的复用器复用每个路径.

这就是我想象它应该如何工作:

                                             |->queue->matroskamux->filesink
v4l2src->videorate->videoscale->x264enc->tee-|
                                             |->queue->flvmux->filesink
Run Code Online (Sandbox Code Playgroud)

这个假设是否正确?所有队列都在正确的位置吗?这样的GStreamer命令怎么样?我对"T恤"的概念特别麻烦.在命令中如何/在何处启动它们以及如何操纵不同的Tee-Path.我在GStreamer文档中查找了"Tee",但我仍然遇到了应用它们的麻烦.

提前致谢!

编辑:好的,感谢mreithub,我让它为视频工作.这就是命令现在的样子:

gst-launch-0.10 -v -m v4l2src ! videorate ! videoscale ! ffmpegcolorspace ! x264enc ! tee name=muxtee ! queue2 ! matroskamux name=mkvmux ! filesink location=file1.mkv muxtee. ! queue ! flvmux name=flvmux ! filesink location=file1.flv
Run Code Online (Sandbox Code Playgroud)

这是我试图让音频运行:

gst-launch-0.10 -v -m v4l2src ! videorate ! videoscale ! ffmpegcolorspace ! x264enc ! tee name=muxtee ! queue2 ! matroskamux name=mkvmux pulsesrc ! ffenc_aac ! filesink location=file1.mkv muxtee. ! queue ! flvmux name=flvmux pulsesrc ! ffenc_aac ! filesink location=file1.flv
Run Code Online (Sandbox Code Playgroud)

这不起作用(命令执行但立即停止 …

ffmpeg tee gstreamer mux

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

找不到 GStreamer x264enc

我根据这些说明安装了 GStreamer-0.10 和所有模块(基本、好的、坏的、丑陋的、ffmpeg)(点击上一页/下一页浏览):http : //www.linuxfromscratch.org/blfs/view/svn/multimedia /gst-plugins-ugly.html

一切似乎都运行得很好,但是当我想执行我的管道时,我收到了这个错误:

glib.GError: no element "x264enc"
Run Code Online (Sandbox Code Playgroud)

显然没有安装模块:

gst-inspect x264enc
No such element or plugin 'x264enc'
Run Code Online (Sandbox Code Playgroud)

之后,我通过执行安装了编解码器:

sudo apt-get install x264
Run Code Online (Sandbox Code Playgroud)

这也不起作用。所以我手动安装了最新版本:http : //www.videolan.org/developers/x264.html

成功安装 x264 后,我再次在 gstreamer-0.10 丑陋模块上运行 ./configure 并发现了这一点:

configure: *** checking feature: x264 plug-in ***
configure: *** for plug-ins: x264 ***
checking for X264... no
configure: No package 'x264' found
configure: *** These plugins will not be built: x264
configure: creating ./config.status
Run Code Online (Sandbox Code Playgroud)

检查 x264 是否可用似乎已满:

which x264
/usr/local/bin/x264
Run Code Online (Sandbox Code Playgroud)

我正在使用 ubuntu 服务器 …

ubuntu gstreamer x264 libx264

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

RTMP通过GStreamer和Python

我试图将以下GStreamer命令移植到python程序中:

gst-launch-0.10 -v -m v4l2src ! queue ! ffmpegcolorspace ! queue ! x264enc pass=pass1 threads=0 bitrate=1536 tune=zerolatency ! queue ! flvmux name=mux  pulsesrc ! queue max-size-bytes=134217728 max-size-time=20000000000 max-size-buffers=1000 ! audioconvert ! lame ! audio/mpeg ! queue ! mux. mux. ! queue ! rtmpsink location='rtmp://x.x.x.x/live/myStream'
Run Code Online (Sandbox Code Playgroud)

使用此命令,可以在流式传输到wowza服务器时记录和观看实时流.但我有一些麻烦将此命令移植到python.特别是RTMP接收器似乎会引起麻烦(因为它正在使用filesink):

    self.pipeline = gst.Pipeline("diepipeline")

    self.src = gst.parse_launch("v4l2src")
    self.pipeline.add(self.src)

    self.videoenc = make_bin("(name=videoenc queue ! ffmpegcolorspace ! queue ! x264enc pass=pass1 threads=0 bitrate=1536 tune=zerolatency ! queue )")
    self.pipeline.add(self.videoenc)

    self.audio2src = gst.parse_launch("pulsesrc")
    self.pipeline.add(self.audio2src)

    self.audio2 = make_bin("(name=audio2 queue max-size-bytes=134217728 max-size-time=20000000000 …
Run Code Online (Sandbox Code Playgroud)

python rtmp gstreamer wowza python-gstreamer

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

16Bit Little Endian字节数组到整数数组到Decibel值

我正在使用PulseAudio API"实时"获取当前的麦克风输入.缓冲区数据作为16位小端字节数组传送.我想要做的是找出缓冲区中的最大峰值水平并将其转换为分贝值.为此,我必须将每个两个字节的数组值转换为一个整数值.在同一个循环过程中,我也在寻找最大值.之后,我将最大值转换为分贝值.这是C代码:

static ssize_t loop_write(int fd, const uint8_t *data, size_t size) 
{
int newsize = size / 2;
uint16_t max_value = 0;
int i = 0;

for (i = 0; i < size; i += 2)
{
    // put two bytes into one integer
    uint16_t val = data[i] + ((uint32_t)data[i+1] << 8);

    // find max value
    if(val > max_value)
       max_value = val;
}

// convert to decibel
float decibel = max_value / pow(2, 15);

if(decibel != 0)
    decibel = 20 …
Run Code Online (Sandbox Code Playgroud)

c audio type-conversion pulseaudio decibel

0
推荐指数
1
解决办法
2297
查看次数