UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login
    1. Home
    2. gwado
    3. Posts
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 11
    • Groups 0

    Posts

    Recent Best Controversial
    • How to retrieve and select available audio outputs

      I would like to find a solution to the problem of alarms that are triggered in the current default audio output.
      When headphones are connected to the smartphone, the alarm sound output remains the headphones and not the speakers.

      As a first step: do you know how to list the audio outputs, please?

      Next comes a very simple app to launch an alarm clock and select the audio output.
      It's more relevant to improve the official “clock” app, but I don't know if I have the minimum necessary skills.

      posted in App Development
      gwadoG
      gwado
    • RE: What's the best way to store a user password?

      @arubislander the Nextcloud API does not allow you to retrieve Ampache/Subsonic identifiers from the Music application.

      posted in App Development
      gwadoG
      gwado
    • RE: [solved using UT Tweak Tool] Use a timer even if the screen is off (in standby mode)

      I've looked at the UT Tweak Tool code but I don't have the skills for it.
      UTTT allows you to interrupt an app. It's functional, I won't go any further.
      Thanks! 🙂

      posted in App Development
      gwadoG
      gwado
    • RE: [solved using UT Tweak Tool] Use a timer even if the screen is off (in standby mode)

      @domubpkm Great, thanks.
      Already, it works when I enable this option on my app.
      That's a first step.
      I'll see if I can integrate the option into my app to be independent of UT Tweak Tool.

      posted in App Development
      gwadoG
      gwado
    • [solved using UT Tweak Tool] Use a timer even if the screen is off (in standby mode)

      I trigger a timer in an app (qml) but it pauses when the screen is off/locked.
      In apparmor, I use “keep-display-on”.

      In the code, although I don't think it's normally useful :

      import QtSystemInfo 5.5
          ScreenSaver {
              id: screenSaver
              screenSaverEnabled: false
          }
      
      

      Do you have a solution, please?

      posted in App Development
      gwadoG
      gwado
    • What's the best way to store a user password?

      For the UT Nextcloud Music application, I'm looking to store the connection form data (url, user, password) to avoid having to retype them regularly.
      I've managed to store this data in an sqlite database. Everything's working fine.
      But I'm wondering about saving the password in clear text in a local database.
      Is it secure?
      Do I have to hash/salt it? Knowing that I have to do the reverse afterwards, which makes the method available to anyone?
      Is it possible to use a system method? And if so, do you know a piece of QML code to store and retrieve this, please?

      posted in App Development
      gwadoG
      gwado
    • RE: Spotify blockt Futify

      @Tilo_HH I have the same phone but I use deezer via Waydroid. The UT-Deezer app is too unstable for me.
      Streaming services are very closed, the music's industry more than it. Maybe Spotify can be used via Waydroid.
      That is, an android simulated on UT that allows you to install F-Droid (via the apk on the official f-droid site) then Aurora Store (via F-Droid) then Spotify (via Aurora Store).
      Aurora Store enables you to use Google Play Store.
      F-droid is an open-source application store.
      You can also boycott companies that don't let you use them via open-source applications. However, they don't really care, given the small market share we represent. It's then possible to look for alternatives for listening to music. Spotify/Deezer & co are not The Music.

      I'm sorry I can't help you more than to suggest you use the official app via Waydroid or listen to music other than via streaming services.

      posted in App Development
      gwadoG
      gwado
    • RE: Problem initializing audio player for automatic playback on launch

      @CiberSheep Thank you for sharing this code with me.
      I've noticed that the problem seems to exist for this app too, as the developer uses a timer to start playback with a delay.
      I applied this in my code and it seems to work. I'll now be able to add a few features to it.
      Thanks again.

      Here's a code snippet if it helps anyone in the future. Timer interval (1500ms) to be adapted.

          Timer {
              id: playStarter
              interval: 1500
              onTriggered: {
                  musicPlayer.play()
              }
          }
          MediaPlayer {
              id: musicPlayer
          }
      
          function pause() {
              musicPlayer.pause();
          }
      
          function play() {
              if (musicPlayer.source) {
                  musicPlayer.pause();
                  playStarter.restart();
              }
          }
      
      
      
      posted in App Development
      gwadoG
      gwado
    • RE: Problem initializing audio player for automatic playback on launch

      @CiberSheep Thank you. I was using mediaplayer but the problem was the same. I'll dig up the subject again and go over the code. As my request is basic, the problem is certainly in my approach and my code.
      I will be back.

      posted in App Development
      gwadoG
      gwado
    • RE: Problem initializing audio player for automatic playback on launch

      @ikoz Sorry, I misspoke.
      I want the audio to play when I use this.play() (via a button, for example). It works except the first time.

      1. this.play(): no playback
      2. this.pause() then this.play(): playback
      3. Other this.play() (for another song, for example): playback

      I now display the audioplayer status.
      On PC, it quickly goes from 2 (loading) to 6 (buffering).
      On smartphone, it stalls at 2 (loading) until I do step 2 above, when it switches to 3 (loaded).
      The behavior seems different. The player seems to be stuck at 2 (Loading).

      import QtQuick 2.9
      import QtQuick.Controls 2.2
      import QtMultimedia 5.12
      
      ApplicationWindow {
          visible: true
          width: 400
          height: 200
          title: "Simple QML Audio Player"
      
          // Media Player element
          Audio {
              id: audioPlayer
              source: "../assets/audio.mp3"
              autoLoad: true
          }
      
          // Layout for controls
          Column {
              anchors.centerIn: parent
              spacing: 10
      
              Text {
                  text: audioPlayer.status + " - " + audioPlayer.position // Show status of the player and the position of track
              }
      
              // Play, Pause, Stop Buttons
              Row {
                  spacing: 10
      
                  Button {
                      text: "Play"
                      onClicked: audioPlayer.play()
                  }
      
                  Button {
                      text: "Pause"
                      onClicked: audioPlayer.pause()
                  }
      
                  Button {
                      text: "Stop"
                      onClicked: audioPlayer.stop()
                  }
              }
      
          }
      
      }
      
      
      posted in App Development
      gwadoG
      gwado
    • Problem initializing audio player for automatic playback on launch

      Hello everyone,

      Thank you for the wonderful work everyone does here!
      I'm trying to fix some issues I've encountered on two apps I'm developing (Radio Nova and UT Nextcloud Music) and that are already available on the store.

      The first problem is audio playback at first launch. It is currently necessary to manually click on pause then play for the audio to actually launch. It's as if the player hadn't been properly initialized.
      Here's an example of Main.qml code that reproduces this problem.
      I don't have any problems with clickable desktop. Unfortunately, I can't test on my smartphone other than with a build because clickable doesn't work properly (issue 447 of clickable), so I don't have the execution logs on smartphone.

      The second problem, perhaps linked to the system's audio management, is that the player does not skip to the next song if the application is not in focus.
      In other words, everything's fine if the app is open on the screen, but if the player is put to sleep or another application is displayed, it doesn't skip to the next audio track.
      If these problems are not related, I can open another topic.

      Can you help me, please?

      import QtQuick 2.9
      import Lomiri.Components 1.3
      import QtQuick.Layouts 1.3
      import Qt.labs.settings 1.0
      import QtMultimedia 5.12
      import QtQuick.Controls 2.2
      import QtQuick.Controls.Material 2.1
      import QtQuick.Controls.Universal 2.1
      import QtSystemInfo 5.5
      import Ubuntu.Components 1.3 as Ubuntu
      
      
      MainView {
          id: root
          objectName: 'mainView'
          applicationName: 'audio.gwado'
          automaticOrientation: true
      
          width: units.gu(45)
          height: units.gu(75)
      
          Audio {
              id: audioPlayer
              source: "https://novazz.ice.infomaniak.ch/novazz-128.mp3"
          }
      
          Page {
              anchors.fill: parent
      
              header: PageHeader {
                  id: header
                  title: i18n.tr('audio')
              }
      
              Column {
                  anchors.centerIn: parent
      
                  Button {
                      id: playPauseButton
                      text: audioPlayer.playbackState === Audio.PlayingState ? i18n.tr("Pause") : i18n.tr("Play")
                      onClicked: {
                          if (audioPlayer.playbackState === Audio.PlayingState) {
                              audioPlayer.pause()
                          } else {
                              audioPlayer.play()
                          }
                      }
                  }
              }
          }
      }
      

      The imported libraries are certainly too numerous, contrary to my development skills. 🙂

      posted in App Development
      gwadoG
      gwado