Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用JavaOSC向Android发送/接收OSC消息

使用JavaOSC向Android发送/接收OSC消息
EN

Stack Overflow用户
提问于 2013-09-03 00:59:07
回答 1查看 2.4K关注 0票数 1

我正在尝试编写允许使用JavaOSC库发送和接收OSC消息的样例Android应用程序。在本例中,我们将发送带有OSC消息的简单Android seekBar的当前值。

LogCat说:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
09-03 04:56:25.695: I/System.out(1235): can not send

下面是我的示例代码,不幸的是它不起作用(似乎我在发送消息时有异常)。也许有人知道这里出了什么问题?

我是Android开发公司的新手,谢谢你的建议.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 package com.remote.secondtest;

import java.io.IOException;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Date;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;





public class MainActivity extends Activity implements OnSeekBarChangeListener{

    private SeekBar myBar;
    private TextView textProgress, textAction;
    public OSCPortOut sender = null;
    private OSCPortIn  receiver;
    public InetAddress targetIP;
    int port = 5001;
    protected int sliderValue;


    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.myscreen);

        myBar = (SeekBar)findViewById(R.id.seekBar1);
        myBar.setOnSeekBarChangeListener(this);        
        textProgress = (TextView)findViewById(R.id.textViewProgress);
        textAction = (TextView)findViewById(R.id.textViewAction);

    } 

    public void setConnection(){
        try {
            targetIP = InetAddress.getByName("192.168.0.104");
            //targetIP = InetAddress.getLocalHost();
        } catch (UnknownHostException e) {          
            e.printStackTrace();        }        

        try {
            sender = new OSCPortOut(targetIP, 4444); //------set up outgoing ------
        } catch (SocketException e) {
            e.printStackTrace();
        }

        /*try {                                     //------set up incoming-------
            receiver = new OSCPortIn(4444);
        } catch (SocketException e) {
            e.printStackTrace();
        } */ 

    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    } 


    @Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
        textProgress.setText("The value is: " + progress);
        textAction.setText("changing");

        sliderValue = progress;
        sendMyOscMessage();
        //receiveMyOscMessage();
    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {     
        textAction.setText("starting to track touch");

    }

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
        seekBar.setSecondaryProgress(seekBar.getProgress());
        textAction.setText("ended tracking touch");     

    }

    public void sendMyOscMessage(){
        Object args [] = new Object[2];
        args[0] = "Current_Value_is: ";
        args[1] = sliderValue;
        OSCMessage msg = new OSCMessage("/test_from_device", args);

        try {
            sender.send(msg);
            System.out.println("OSC message sent!");
            System.out.println(args[0].toString() + args[1]);
        } catch (Exception e) {
            System.out.println("can not send");
            //e.printStackTrace();
        }

    }

    /*public void receiveMyOscMessage(){
        OSCListener myListener = new OSCListener() {

            @Override
            public void acceptMessage(Date time, OSCMessage message) {

                System.out.println("myMessage_received!");              
                //Object [] args = message.getArguments();
                //String myTitle = args[0].toString();
                //int currentValue = (Integer)args[1];
            }
        }; 

        receiver.addListener("/test_to_device", myListener);
        receiver.startListening();

    }*/


}

UPD:不推荐使用OSCMessage构造函数,但在我将其修改为有效的构造函数后,没有任何更改.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
OSCMessage msg = new OSCMessage();
    msg.setAddress("192.168.0.104");
    msg.addArgument(args);

在大量的android错误日志中说:

09-03 07:56:00.794: E/AndroidRuntime(2408):致命例外:主09-03 :56:00.794: E/AndroidRuntime(2408):java.lang.NullPointerException 09-03 07:56:00.794: E/AndroidRuntime(2408):at com.remote.secondtest.MainActivity.onProgressChanged(MainActivity.java: 09-03 07:56:00.794: E/AndroidRuntime(2408):at com.remote.secondtest.MainActivity.onProgressChanged(MainActivity.java:93) 09-03 07:56:00.794: E/AndroidRuntime(2408):at android.widget.SeekBar.onProgressRefresh(SeekBar.java:91)

EN

回答 1

Stack Overflow用户

发布于 2014-09-12 03:27:45

您需要访问Internet的权限。

由于行号与您的错误不匹配,我无法确定,但我猜这是最常见的错误,导致“无法发送”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18588064

复制
相关文章
SpringBoot webSocket实现发送广播、点对点消息和Android接收
这篇文章主要介绍了SpringBoot webSocket实现发送广播、点对点消息和Android接收,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
java思维导图
2018/12/05
3.9K0
RabbitMQ简单消息发送与接收
  这里将编写两个java程序。发送单个消息的生产者和接收消并打印出来的消费者。   在下图中,p是我们的生产者,c是我们的消费者。中间框是一个队列-RabbitMQ代表使用者保留的消息缓冲区。
别团等shy哥发育
2023/02/25
5300
RabbitMQ简单消息发送与接收
发送和接收IBM WebSphere MQ消息
InterSystems IRIS为IBM WebSphere MQ提供了一个接口,可以使用该接口在InterSystems IRIS和IBM WebSphere MQ的消息队列之间交换消息。要使用此接口,必须能够访问IBM WebSphere MQ服务器,并且IBM WebSphere MQ客户端必须与InterSystems IRIS在同一台计算机上运行。
用户7741497
2022/07/04
2.9K0
使用 Spring Cloud Bus 向指定的微服务发送消息
要向指定的微服务发送消息,需要使用 Spring Cloud Bus 提供的 DestinationProvider 接口,该接口可以返回目标微服务的名称。在消息广播时,Spring Cloud Bus 会根据目标微服务的名称将消息发送到指定的微服务中。
堕落飞鸟
2023/04/18
8140
Android的cookie的接收和发送
我们都知道在web端的cookie是可以通过服务器端设置保存的,默认是关闭浏览器就清除cookie的,但是可以在服务器端设置cookie的有效期,浏览器就会自动保存cookie,而在Android上是不会自动保存cookie,我用的是Okhttp3,我找不到response.addCookie(cookie)和request.getCookies()的方法(Java web的操作),如果没有保存和重发cookie给服务器的话,是不会自动登录的。搞了大半天才知道这一切都在head里。
夜雨飘零
2020/05/06
9830
Go语言服务端消息接收和发送
上面代码的问题是服务器获取到客户端对象后,如果客户端什么也没有输入,其他客户端无法连接.可以通过结合goroutine完成并发访问
IT工作者
2022/04/01
1.2K0
接收发送消息与数据库交互
线上的接口的坑太多了。不如自己写一个吧。实际的业务场景中,可以用户回复关键词,可获取系统中相关的消息。
一粒小麦
2019/07/18
8200
接收发送消息与数据库交互
【RabbitMq 篇六】-消息确认(发送确认与接收确认)
消息确认是保证消息传递可靠性的重要步骤,上一节我们说到持久化,持久化只能保证消息不丢失,但是如果消息如果投递失败我们怎么进行补偿操作呢?解决办法就是实现回调函数进行操作,在消息的发送和消息的消费都可以进行补偿操作,下面我们就要讲解消息确认。
胖虎
2019/06/26
3.4K0
【RabbitMq 篇六】-消息确认(发送确认与接收确认)
SpringBoot集成websocket实现后端向页面发送消息
1、引入依赖: compile "org.springframework.boot:spring-boot-starter-web:${verSpringBoot}" compile "org.springframework.boot:spring-boot-starter-websocket:${verSpringBoot}" 2、添加Webscoket配置: /** * ServerEndpointExporter 作用 * * 这个Bean会自动注册使用@Se
JQ实验室
2022/02/10
1.1K0
Vfp实现向钉钉群发送消息,消息提醒不错过
我在工作是见到过python、jave、php实现发送消息至钉钉群,觉得蛮好用的,一次消息通知多少人。搜了一圈没有发现我们VFP是怎么打通调用,那我们vfp程序能不能实现这样的功能呢?答案是肯定的,
加菲猫的VFP
2023/08/21
4090
Vfp实现向钉钉群发送消息,消息提醒不错过
JMail接收发送邮件使用参考
对象参考 JMail.POP3                                                   JMail.Messages                                                JMail.Message                                                 JMail.Headers                                                 JMai
用户2135432
2018/06/04
1.1K0
Spring Cloud Bus在服务之间发送和接收消息示例
下面是一个使用 Spring Cloud Bus 和 RabbitMQ 的完整示例。在此示例中,我们将创建两个服务:Config Service 和 Client Service。Config Service 负责存储应用程序的配置文件,Client Service 则使用这些配置文件来配置自身。
堕落飞鸟
2023/04/15
7020
Spring Cloud Bus在服务之间发送和接收消息(一)
在微服务架构中,服务之间的通信非常重要。在某些情况下,我们需要在服务之间发送和接收消息,以实现更高效、可靠的通信。这时,Spring Cloud Bus 是一个非常有用的工具。
堕落飞鸟
2023/04/15
1.9K0
Spring Cloud Bus在服务之间发送和接收消息(二)
Spring Cloud Bus 可以与多种消息代理一起使用,例如 RabbitMQ 和 Kafka。在本节中,我们将介绍如何使用 Spring Cloud Bus 集成 RabbitMQ。
堕落飞鸟
2023/04/15
7880
Android Handler机制7之消息发送
光看上面这些API你可能会觉得handler能法两种消息,一种是Runnable对象,一种是message对象,这是直观的理解,但其实post发出的Runnable对象最后都封装成message对象了。
隔壁老李头
2018/08/30
1.4K0
Android Handler机制7之消息发送
Go:使用TCP发送和接收大文件
文件的发送和接收基本上就是读取和写入数据的过程。在Go中,我们可以使用io包中的io.Reader和io.Writer接口来读取和写入数据。
运维开发王义杰
2023/08/10
1.8K0
Go:使用TCP发送和接收大文件
amq简单使用_rabbitmq发送消息
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说amq简单使用_rabbitmq发送消息,希望能够帮助大家进步!!!
Java架构师必看
2022/08/01
7780
PC微信逆向:发送与接收消息的分析与代码实现
与接收消息函数最直接相关的东西肯定是消息本身,所以消息本身的内容就是我们的切入点。我们可以首先找到存放消息内容的地址,然后对地址下断,通过栈回溯最终定位到接收消息的函数
信安之路
2019/08/08
3.2K0
PC微信逆向:发送与接收消息的分析与代码实现
点击加载更多

相似问题

Android、OSC、接收器未接收消息。

13

在发送端口上接收OSC消息

10

python从Max接收OSC消息

15

如何使用Android向PC发送消息并实时接收

20

Unity:向MSP/PD客户端发送OSC消息

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文