小编Tor*_*bio的帖子

Android MediaPlayer停止和播放

我正在创建包含2个按钮的Android应用程序,点击每个按钮播放一个mp3文件.问题是当我播放button1它时播放sound1,当我点击button2播放时sound2.

我检查其他玩家的每个按钮是否正常工作,我停下来播放点击的按钮

但是,如果我点击两次相同的按钮,它会在后台播放第一个音频并再次播放另一个音频

我试图检查isPlaying()并停止它,但它不起作用!

我想如果我点击button1它播放sound1,如果再点击它就停止它并从头开始再次播放.

我的代码:

package com.hamoosh.playaudio;
import android.app.Activity;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class PlayaudioActivity extends Activity {
/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button b= (Button) findViewById(R.id.button1);
        Button b2= (Button) findViewById(R.id.button2);
        final TextView t= (TextView) findViewById(R.id.textView1);

        final MediaPlayer mp = MediaPlayer.create(PlayaudioActivity.this, R.raw.far); …
Run Code Online (Sandbox Code Playgroud)

android media-player

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

未定义的getaddrinfo参考

我已经有很长一段时间没有得到这个错误了,谷歌也没有多少帮助.

我是Winsock编程的新手,并试图从在线资源中学习.我正在尝试使用MSDN网站上的详细信息构建一个简单的服务器.每当我编译代码(MinGW)时,我都会收到标题(Undefined reference to getaddrinfo)中提到的错误.以下是代码:

#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#define WINVER WindowsXP

#include <windows.h>
#include <winsock2.h>
#include <winsock.h>
#include <ws2tcpip.h>
#include <stdio.h>

int main() {
    WSADATA wsaData;
    int iResult;
    iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
    if (iResult != 0) {
        printf("WSAStartup failed: %d\n", iResult);
        return 1;
    }

    #define DEFAULT_PORT "27015"

    struct addrinfo *result = NULL, *ptr = NULL, hints;

    ZeroMemory(&hints, sizeof (hints));
    hints.ai_family = AF_INET;
    hints.ai_socktype = SOCK_STREAM;
    hints.ai_protocol = IPPROTO_TCP;
    hints.ai_flags = AI_PASSIVE;

    // Resolve the local address …
Run Code Online (Sandbox Code Playgroud)

c winsock

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

页面加载在Firefox上触发两次

好的,首先是一些背景:我有一个页面显示任何所选项目的点击次数(或视图).在每个页面加载时调用的命中计数器过程即

if (Request.QueryString.HasKeys())
{
    // get item id from icoming url e.g details.aspx?itemid=26            

    string itemid = Request.Params["itemid"];

    if (!Page.IsPostBack)
    {
        countHit(itemid);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是:我的期望是每个页面加载时计数器会增加1,但我的datalist和formview上的计数器总是落后并且步长为2即

而不是1, 2, 3, 4,它0, 2 , 4, 6.

看起来页面加载是两次触发.后来我发现只有在使用Mozilla Firefox时才会发生这种情况.该页面与其他浏览器(如IE)一样正常

这变得非常令人沮丧.

asp.net firefox

6
推荐指数
1
解决办法
6271
查看次数

psycopg2的Django错误ImportError:DLL加载失败

嗨,我正在尝试在我的虚拟环境中运行syncdb时收到此错误.

如果我将psycopg2文件夹复制到我的项目文件夹(我有我的manage.pysettings.py),则此错误消失.但是当代码被推送到heroku时,我仍然会收到此错误.

我已经提到很多在线资料,但不是很幸运.

File "c:\Users\mayayadav\anteus\venv\lib\site-packages\psycopg2-2.4.5-py2.7-wi
  n32.egg\psycopg2\__init__.py", line 67, in <module>
    from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: DLL load failed: The specified module could not be found. (venv)
Run Code Online (Sandbox Code Playgroud)

django heroku importerror

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

将目标名称传递给makefile中的依赖项

如果我在makefile中有以下规则:

$(OBJ)/%.o: $(SRC)/%.c
    $(CC) -c -o $@ $< $(CFLAGS)
Run Code Online (Sandbox Code Playgroud)

每个匹配前缀./obj/和sufix的文件.o都会将其传递给它%,因此我可以根据其名称提供一些依赖项.

但是,假设我有这样的规则,我逐一指定我想要的目标:

OBJECTS=abc.o bca.o cba.o
$(OBJECTS): $(SRC)/%.c
    $(CC) -c -o $@ $< $(CFLAGS)
Run Code Online (Sandbox Code Playgroud)

如何让%词干实际上对当前目标名称make有效?只是使用%不起作用$@.

请注意,我正在尝试将实际目标名称写入其自己的依赖项.例如,当make正在执行规则时abc.o,它将包括$(SRC)/abc.c它(就像$(patsubst %.o, $(SRC)/%.c, MAGIC_TARGET_NAME_VARIABLE)).

makefile gnu-make

6
推荐指数
1
解决办法
4659
查看次数

GCC内联汇编:调用dword ptr

如果我在Windows VC++中有以下代码:

DWORD somevar = 0x12345678;
_asm call dword ptr [somevar]
Run Code Online (Sandbox Code Playgroud)

如何使用AT&T语法在GCC内联汇编中做同样的事情?

__asm__ __volatile__ (
    "call dword ptr [%%edx]" : :
    "d" (somevar)
);
Run Code Online (Sandbox Code Playgroud)

我尝试过类似的东西,但它会产生"垃圾"错误......

然后我试图通过somevar一些寄存器,然后将其转换到dword,ptr等,但我无法得到它的工作.

更新:我找到了一些有用的东西,就好像在这种情况下我们必须使用括号而不是括号,我找到了一些lcall可以调用的东西far.但我仍然无法理解我是如何重现的dword ptr.

c++ linux assembly gcc inline-assembly

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

使用非托管C++ .dll从C#.exe调用函数

所以,我有一个用C#编写的可执行文件,我没有它的源代码,但是我用IDA对它进行了反汇编,它给了我很多面向对象的程序集.

我做了注入一个.dll到另一个.exe文件.exe文件,我已经注入这个新的C++ DLL到C#.exe文件,没有问题,DllMain是因为所谓的等等...

但是当我将这个DLL注入到用C++创建的普通.exe文件中时,我可以使用其内存地址调用.exe中的函数,我可以在IDA上使用它.

问题是,面向对象的程序集在其功能上没有地址,即使函数名称被反汇编也是如此.

那么,有什么办法可以用我在C#.exe文件上注入的DLL来调用这个函数吗?

如果可能的话,有没有办法可以使用C#.exe文件中声明的命名空间及其所有函数和变量,甚至是私有的?

示例反汇编代码:

.namespace MyCSharpApp
{
.class public auto ansi Test extends [mscorlib]System.Object
{
  .field public value class [Microsoft.Xna.Framework]Microsoft.Xna.Framework.Vector2 pos

  .field public int32 foo
....
Run Code Online (Sandbox Code Playgroud)

c# c++ hook dll-injection

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

在linux中,如何确保执行一系列代码而不会中断

我有一个例程,可以将GPIO引脚切换为高电平/低电平,并在高电平和低电平之间(使用udelay)之间进行延迟,然后对GPIO状态进行一段时间的采样.我需要确保执行代码的这一部分而不会被调度程序或任何可能的中断抢占.我在双核ARM系统上运行代码,所以它应该是SMP.是否Spin_Lock_IrqSave()足够安全,这样的目的是什么?我感觉我的代码仍然偶尔会被打断,但还没有证据.

非常感谢.

linux linux-device-driver linux-kernel

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

在C中使用MPI_Type_vector接收

我有一个静态分配的2D数组NxN,我想发送第一i列(带i = 0 ... N-1).

我写:

int main(int argc, char **argv) {

    int myrank, nprocs;
    int i,j;

    int matrix[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
    int col[N];

    ...

    // Define type "column"
    MPI_Datatype column;
    MPI_Type_vector(N,1,N,MPI_INT,&column);
    MPI_Type_commit(&column);

    if(myrank==0){
        j=0;
        MPI_Send(&matrix[0][j],1,column,1,99,MPI_COMM_WORLD);
    }

    if(myrank==1){
        // **** FIRST MODE: Don't use "column" type *****
        MPI_Recv(col,N,MPI_INT,0,99,MPI_COMM_WORLD,&info);

        // **** SECOND MODE: Use "column" type *****
        // MPI_Recv(col,1,column_INT,0,99,MPI_COMM_WORLD,&info);

        printf("\nColumn: ");
        for(j=0;j<N;j++)
            printf("\n %d",col[j]);
    }

    MPI_Type_free(&column);
    MPI_Finalize();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么第一个模式正确返回:

1 5 9 13
Run Code Online (Sandbox Code Playgroud)

而第二次回报错误?

1  -2  1980804601  1980804675
Run Code Online (Sandbox Code Playgroud)

c parallel-processing mpi multidimensional-array

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

如何在Ruby中同时翻译多个单词?

我正在尝试为我的朋友和我创建的语言创建替代翻译器。用这种语言,某些事情必须同时发生,而我无法弄清楚如何在Ruby中做到这一点。

通过简单的事情,例如在周围交换元音,即

a --> u
i --> o
o --> i
u --> a
Run Code Online (Sandbox Code Playgroud)

我已经做到了:

input.tr("aiou", "uoia")
Run Code Online (Sandbox Code Playgroud)

但我想不出一种方法来使以下翻译同时发生:

no --> e
e --> y
y --> el
Run Code Online (Sandbox Code Playgroud)

这样,“黄犀牛”一词就变成了“黄犀牛”。

我可以做什么建议或示例?gsubtr?完全是另一种方法?

ruby substitution

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