cameraControl

Startseite Foren Deutsches LiveCode-Forum cameraControl

Schlagwörter: 

Ansicht von 11 Antwort-Themen
  • Autor
    Beiträge
    • #7315
      Harald Wittke
      Teilnehmer

        Ich bin Neuling bei LiveCode. Vorher hab ich mit Xojo gearbeitet. Ich versuche mit Beispielprogrammen LiveCode zu verstehen.

        Ich möchte in Android ein Bild mit der Kamera von einem Programm aus machen. Dazu habe ich folgendes Beispiel gefunden.

        http://www.haraldwittke.info/test/camera.livecode.zip
        cameraControl scheint dafür richtig zu sein, aber schon bei cameraControlCreate „Name” scheint nichts zu passieren.

        Das Programm geht auch weder auf Mac noch auf Android.

        Was mache ich falsch ?

      • #7319
        Klaus Major
        Administrator

          Hallo Harald,

          leider antwortet Dein Server nicht (im Moment?), aber warum nimmst Du nicht einfach:

          mobilepickphoto “camera”,400,400
          ## Funktioniert immer!

          Gruß

          Klaus

        • #7321
          Harald Wittke
          Teilnehmer

            Habs gerade probiert, Ich kanns laden.
            mobilePickPhoto öffnet das Kameraprogramm.

            Ich will ein Bild direkt mit LiveCode erzeugen und in einem eigenen Ordner speichern.
            Das sollte doch mit cameraControl gehen. Oder lieg ich da falsch?

          • #7323
            Klaus Major
            Administrator

              Hallo Harald,

              ich besitze weder ein Handy noch ein Tablet und entwickle daher nicht für die mobile Platform.
              Aber Du hast natürlich recht, das sollte auch mit CameraControl gehen. Nur kann ich dir leider nicht sagen, warum es das nicht tut.

              Wie oben erwähnt, würde ich geren mal in Deinem Stack nach der Syntax schauen, aber der Server anwortet nicht.

              2wei Minuten später… 🙂

              OK, jetzt hat er geantwortet, Stack heruntergeladen und nachgesehen.
              Das Problem, Deine beiden Buttons wissen nicths voneinander und sprchen daher zwei verschiedene cameracontrols.

              Mach Folgendes:
              1. Lagere die Handler in den Buttons aus ins Kartenskript und lege eine lokale Variable mit dem Namen der CameraControl an.
              Kartenskript:
              ## DerCameraName ist nun LOKAL und kann von allen Handlern in diesem Skript benutzt werden!

              local DerCameraName
              local noch_n_pic
              
              command init_camera
                 put "myFirstCamera" into DerCameraName
                 cameraControlCreate DerCameraName
                 cameraControlSet DerCameraName, "device", "front"
                 cameraControlSet DerCameraName, "rect", the rect of graphic 1
                 cameraControlSet DerCameraName, "visible", true
              end init_camera
              
              command take_pic
                 put true into noch_n_pic
                 cameraControlDo DerCameraName, "takePicture"
                 put the result into image 1
              
                 ## wir sollten unbedingt einen "Ausgang" einbauen!
                 ## Vielleicht ein button "Stop" oder so, daher:
                 if noch_n_pic then
                    send "take_pic" to me in 5 seconds
                 end if
              end take_pic
              
              command stop_taking_pics
                 put false into noch_n_pic 
              end stop_taking_pics 

              2. In den Buttons werden diese Handler nun nur “getriggert”.
              Button “create”:

              on mouseUp
                 init_camera
              end mouseUp

              Button “take pic”:

              on mouseUp
                 take_pic
              end mouseUp

              Button “stop”, to do 🙂 ):

              on mouseUp
                 stop_taking_pics
              end mouseUp

              Gruß

              Klaus

            • #7330
              Harald Wittke
              Teilnehmer

                Danke an klaus Major.
                Der Ansatz gefällt mir gut. Erst die Methoden deffinieren und dann aufrufen.
                Leider das gleiche Ergebnis. Beim Test in der Oberfläche bleibt das Progreamm bereits bei cameraControlCreate stehen.
                Die fertige App geht nicht auf Android oder MacOS 10.12.
                Fehlermeldung

              • #7332
                Harald Wittke
                Teilnehmer

                  Bitte entschuldigt meine Schreibfehler.

                  Gibt es überhaupt Jemand bei dem cameraControlCreate geht ? Ich hab es nochmal unter allen OS versucht. Bei mir gehts nicht !

                • #7334
                  Klaus Major
                  Administrator

                    Tut mir leid, ich besitze keine Kamera an meinem Mac.
                    Ich bin seit über sieben Jahren arbeitslos, da musste ich aufs Nötigste reduzieren…

                    Aber in der Bugdatenbank: https://quality.livecode.com ist auch nichts Relevantes dazu zu finden.

                    Vielleicht meldet sich ja noch jemand, hier ist nicht ganz so viel los wie im englischen Forum:
                    http://forums.livecode.com

                  • #7336
                    Klaus Major
                    Administrator

                      In der Zwischenzeit würde ich aber mit “mobilePickPhoto” als Workaround weitermachen.
                      Die Funktionalität sollte ja identisch sein. 🙂

                    • #7338
                      Harald Wittke
                      Teilnehmer

                        mobilePichPhoto ist leider nicht identisch. Es öffnet nur das Kameraprogramm.
                        Ich will aber ein Bild von LiveCode aus machen, ohne das Kameraprogramm zu öffnen. Das Bild muss auch gar nicht angezeigt werden, es soll nur aud der SD gespeichert werden. Ich möchte eine Art Zeitraffer machen.
                        Es ist schon seltsam, das man in einer Entwicklungsumgebung für Android, so wichtige Sensoren wie Kamera nicht direkt ansprechen kann. Damit ist es nur sehr eingeschränkt zu verwenden.

                        Ich hab deinem Tip gefolgt und im englischen Forum einen Hinweis gefunden, das cameraControl nur in der kommerziellen Version geht.
                        Leider steht im Dictionary nichts dazu.
                        cameraControl scheint es seit Version LiveCode 7 zu geben, aber weder in der offiziellen Beschreibung noch in irgendeinem offiziellem Beispiel steht etwas davon, das es in der Community-Version nicht geht.

                        Gibt es irgendwo eine Liste darüber, welche Befehle in der Community Edition fehlen ?
                        nicht in LiveCode-connunity

                      • #7340
                        Klaus Major
                        Administrator

                          Ach je, sorry, ich vergesse immer, daß es die eingeschränkte Community Version gibt, da ich eine lebenslange INDY Lizenz besitze. Yo, wäre schön, wenn das im Dictionary auch wie die unterstützen Platformen aufgelistet wäre.

                          Die einzige “Vergleichsseite”, die ich kenne, ist die hier:
                          https://livecode.com/products/livecode-platform/pricing/

                          Ich werde das mal als “Feature Request” bei den Schotten hier melden:
                          https://quality.livecode.com

                          Gesagt, getan!
                          https://quality.livecode.com/show_bug.cgi?id=21553

                        • #7342
                          Harald Wittke
                          Teilnehmer

                            Danke für Deine Hilfe.

                            Die erwähnte Vergleichsseite sagt leider nichts aus.

                            In Xojo hätte ich das Problem jetzt folgendermaßen gelöst:
                            In irgendeiner anderen Sprache ein Konsolenprogramm geschrieben, das ein Bild macht, und das dann in die Ablage legt. Von meinem Programm aus einfach das Konsolenprogramm aufgerufen und dann das Bild aus der Ablage weiter verwendet.
                            Ist so was auch in LiveCode-Community möglich ?

                          • #7344
                            Klaus Major
                            Administrator

                              Hallo Harald,

                              sicher, in LC können wir mit SHELL() so etwas machen auf dem Mac, Windows und Linux.
                              Unter Android und iOS aber nicht.

                              Gruß

                              Klaus

                          Ansicht von 11 Antwort-Themen
                          • Du musst angemeldet sein, um auf dieses Thema antworten zu können.