标签: maemo

如何开始使用Maemo软件开发

几个月的自我购买了诺基亚N800设备,从那以后我很想为它编写一些代码.我知道我正在运行的一些应用程序是用Python编写的,并且Maemo平台也有一个Mono端口.

基本上我要问的是:

  • 是否有推荐的Maemo平台开发语言?
  • 有哪些开发工具?
  • 我可以使用Windows或Linux作为我的主要开发机器吗?您推荐哪些以及为什么?

maemo

17
推荐指数
2
解决办法
2074
查看次数

如何使用PulseAudio从音频输出重定向到麦克风输入?

我正在为Maemo/MeeGo开发移动应用程序,Maemo使用PulseAudio.我想播放一个mp3给来电者(并且在做这个时取消麦克风,而不是听来电者,一切都应该在后台完成),要做到这一点,我必须重定向一定的音频输出(如果不可能,全部)应用程序,将其伪造为输入并使手机应用程序使用它.

在我的Ubuntu PC上,我用pavucontrol做到了.我创建了一个NULL接收器,然后:

Audio Output (from Amarok) --> to NULL Output 
Skype Input <-- NULL Output
Skype Output --> NULL
Run Code Online (Sandbox Code Playgroud)

它起作用了,Amarok播放了音乐,它正在播放到Skype,没有播放给我,我没有听到任何有关所有过程的信息.问题是; a)Maemo没有pavucontrol.b)即使它确实(或者我打包它)也没有任何好处,因为它是一个唯一的GUI应用程序,我必须在背景上完成所有这些东西,没有任何用户输入.(意思是:CLI或API)

在Freenode #pulseaudio上被问到这个问题时,一位乐于助人的人说"它可以通过pactl或pacmd完成,你想要的命令是move-sink-input和move-source-output,但你需要知道设备和流索引".所以看起来pavucontrol只是一个GUI,pactl和pacmd是真正的交易,最重要的是,它们是CLI应用程序.

我真的很感谢他,但我对"pactl","pacmd","move-sink-input"或"device/stream indices"一无所知,所以我需要一个非常简化的手册页,或者类似的应用程序,一个单行命令(两个?整个命令页?,只是给我们他们!^^)或有足够耐心的人向我解释这些东西.

linux audio command-line-interface maemo pulseaudio

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

有谁知道诺基亚在Qt,Symbian,Maemo,MeeGo上的策略?

我不知道这个问题应该或不应该在这里,但我非常想知道.诺基亚将如何处理Qt,Symbian(第3,第5,第1,2,3 ......)和MeeGo(Meego将使用symbian或将取代Symbian)和Maemo?

你认为学习诺基亚工具好吗?Symbian将永远存在或在接下来的X年中死去?

我真的需要你的建议,因为我想学习一种新的编程语言来开发移动应用程序,我想我已经迷失了这么多道路.

symbian nokia maemo meego nokia-wrt

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

/ tmp文件夹和gcc

我正在使用maemo操作系统和GCC编译器.编译应用程序时出错:/ tmp上没有足够的空间.我有10%的空间空闲,所以我不明白为什么会发生这种情况..无论如何,是否可以更改GCC配置以便使用另一个文件夹(在另一个分区中)?

linux debian gcc compilation maemo

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

诺基亚MeeGo 1.2"Harmattan"和intel Meego之间的区别?

诺基亚最近宣布诺基亚N9采用MeeGo 1.2"Harmattan.有些论坛表示它与intel MeeGo不同.是真的吗?什么是Maemo?

Maemo和MeeGo Harmattan一样吗?我们在哪里可以下载SDK以使用模拟器为其开发应用程序?英特尔meego sdk(英特尔笔记本,平板电脑)足够吗?请问任何指南?

compatibility nokia maemo meego meego-harmattan

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

如何处理多个常见用户界面?

我正在开发一个运行在两个不同平台上的python应用程序,即常规桌面linux和Maemo 4.我们在两个平台上使用PyGTK,但是在Maemo上有一些小调整使它看起来很好,实现如下:

if util.platform.MAEMO:
    # do something fancy for maemo
else:
    # regular pygtk
Run Code Online (Sandbox Code Playgroud)

在Maemo 4中,大约有15个if语句需要让UI看起来很好用.

这一直是非常容易管理的.问题是前一段时间发布了Maemo的新版本(5,aka fremantle),与Maemo 4相比,它有一些很大的不同.我不想在整个GUI代码中添加一堆检查,以便让所有3个平台在相同的代码库中运行良好,因为这会变得混乱.我也不想为每个平台创建原始GUI代码的副本,只需为特定平台修改它(我想尽可能多地重用代码).

那么,对于基于相同核心UI代码的不同平台,有哪些方法可以使用稍微不同的UI?我不认为这是一个python或Maemo特定的问题,我只想知道这是怎么做的.

python user-interface code-reuse pygtk maemo

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

Python + QT + Gstreamer

我正在使用PyQt并尝试从网络摄像头获取视频以在QT小部件中播放.我已经找到了C和Qt的教程,以及python和gtk的教程,但是对于pyQt和gstreamer的这个组合没什么.有人这个有用吗?

这播放视频很好,但在一个单独的窗口中:

self.gcam = gst.parse_launch('v4l2src device=/dev/video0 ! autovideosink')
self.gcam.set_state(gst.STATE_PLAYING)
Run Code Online (Sandbox Code Playgroud)

我需要的是让叠加层工作,以便它显示在我的GUI上的小部件中.谢谢,互联网大师!

好的,所以我已经走得更远了,但仍然需要一些帮助.我实际上是为Maemo编写的,但以下代码在我的linux笔记本电脑上工作正常:

class Vid:
    def __init__(self, windowId):
    self.player = gst.Pipeline("player")
    self.source = gst.element_factory_make("v4l2src", "vsource")
    self.sink = gst.element_factory_make("autovideosink", "outsink")
    self.source.set_property("device", "/dev/video0")
    self.scaler = gst.element_factory_make("videoscale", "vscale")
    self.window_id = None
    self.windowId = windowId

    self.player.add(self.source, self.scaler, self.sink)
    gst.element_link_many(self.source,self.scaler, self.sink)

    bus = self.player.get_bus()
    bus.add_signal_watch()
    bus.enable_sync_message_emission()
    bus.connect("message", self.on_message)
    bus.connect("sync-message::element", self.on_sync_message)

    def on_message(self, bus, message):
    t = message.type
    if t == gst.MESSAGE_EOS:
        self.player.set_state(gst.STATE_NULL)
    elif t == gst.MESSAGE_ERROR:
       err, debug = message.parse_error()
       print "Error: %s" % err, debug
       self.player.set_state(gst.STATE_NULL) …
Run Code Online (Sandbox Code Playgroud)

python maemo gstreamer pyqt4 qt-maemo

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

通过python使用maemo相机

我为Python编写了一个简单的Maemo程序,每次调用我的函数时都会检查一些像素的颜色.但是这个功能运行得非常慢(每次通话3-5秒).有没有更快的方法来做到这一点?

import Image
import os
import sys

# sen_pos = (pixel_x, pixel_y)
def sen(sen_pos):
    os.system("gst-launch v4l2src device=/dev/video0 num-buffers=1 ! ffmpegcolorspace ! jpegenc ! filesink location=cam.jpg")
    frame = Image.open("cam.jpg")
    col = frame.getpixel((sen_pos[0], sen_pos[1]))
    avecol = sum(col) / len(col)
    if avecol > 127:
        return "white"
    elif avecol < 127:
        return "black"
    return None
Run Code Online (Sandbox Code Playgroud)

python camera maemo gstreamer

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

Symbian C++和Maemo的代码覆盖工具

您使用Symbian C++和Maemo的代码覆盖工具是什么?您正在使用的工具的优缺点是什么?

c++ code-coverage symbian maemo

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

如何在Windows上启动Qt开发,但是针对Maemo 5?

我最近听说过Qt,并了解了开发的乐趣.顺便说一句,我也买了一台诺基亚N900,我听说它的操作系统Maemo 5非常好地支持Qt,所以我想我会试一试.

我是.NET开发人员,所以我更喜欢在Windows上开发,如果有可能的话,使用Visual Studio.我下载了最新的Qt SDK.我启动了Qt Creator并创建了一个简单的"Qt4 Gui应用程序".它工作正常,但是,我找不到任何可以在任何地方编译Maemo 5的选项.

然后,我下载了Visual Studio插件并试图用它创建一个"Qt应用程序",但是,无论我选择哪种Qt项目类型,单击OK按钮后,对话框都会再次弹出,所以它不能创造任何东西

我还阅读了Maemo 5 SDK,但它似乎只适用于Linux.(Windows的每个演练都是从使用Linux设置虚拟机开始的.)但是,我根本不熟悉Linux,所以我宁愿留在Windows上.

所以我的问题是:是否有可能在Windows上开发时创建将在Maemo 5上运行的Qt应用程序,或者这是不可能的?

提前感谢您的任何答案.

编辑(解决方案):

从我开始这个问题开始,这是一个非常好的开发工具,诺基亚Qt SDK很好地解决了这个问题.它是跨平台的,可用于开发Symbian和Maemo应用程序.对于Maemo工具链,它使用MADDE,这正是答案推荐的工具.(请注意,它不再是技术预览.)

这是关于诺基亚Qt SDK的非常好的介绍视频.

windows qt nokia maemo qt-maemo

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

QPainter宽度和高度

有没有机会找出尺寸QPainter?我QPainter用于绘制移动应用程序的整个图形界面.问题是某些应用程序覆盖窗口的菜单,每个设备的大小都不同,因此几乎不可能!有没有可能做到而不是知道QPainter尺寸?

编辑:简单width()height()有效!

mobile qt symbian maemo qpainter

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

如何在Python中检测Meego/Maemo平台?

我使用 python (PySide) 为 Maemo/Meego/Linux 平台开发跨平台应用程序。我使用一种解决方法来区分 Maemo 和 Linux 平台:

try:
    import PySide.QtMaemo5
    PLATFORM = 'maemo'
except ImportError:
    PLATFORM = 'desktop'
Run Code Online (Sandbox Code Playgroud)

有谁知道如何检测 Meego 平台或检测 Maemo 平台的更好方法?

python cross-platform maemo pyside meego

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

以root身份运行时出现分段错误?

当我从计算机以root身份运行时,我的c ++程序给了我一个seg错误,但是当我启动远程会话时却没有.我的程序仅作为用户从我的计算机运行.可能是什么问题?我为嵌入式设备编写了程序,我正在使用它来编译:

gcc -Werror notify.cc -o notify `pkg-config --libs --cflags gtk+-2.0 hildon-notifymm hildonmm hildon-fmmm'
Run Code Online (Sandbox Code Playgroud)

我没有收到任何错误.这可能是旗帜问题吗?我可以发布我的代码.

编辑:当我用gdb启动我的程序时,我得到了这个:

Program received signal SIGSEGV, Segmentation fault.
0x40eed060 in strcmp () from /lib/libc.so.6
0x40eed060 <strcmp+0>:  ldrb    r2, [r0], #1
Run Code Online (Sandbox Code Playgroud)

Backtrace给出这个:

(gdb) backtrace
 #0  0x40eed060 in strcmp () from /lib/libc.so.6
 #1  0x40b7f190 in dbus_set_g_error ()
 from /usr/lib/libdbus-glib-1.so.2
 #2  0x40b7d060 in dbus_g_bus_get () from /usr/lib/libdbus-glib-1.so.2
 #3  0x400558ec in notify_init () from /usr/lib/libnotify.so.1
 #4  0x4004a240 in Notify::init(Glib::ustring const&) ()
 from /usr/lib/libnotifymm-1.0.so.7
 #5  0x40033794 in Hildon::notify_init(Glib::ustring const&) ()
 from …
Run Code Online (Sandbox Code Playgroud)

c++ linux gdb maemo

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