Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. Error: Cannot assign [undefined] to QUrl
QtWS25 Last Chance

Error: Cannot assign [undefined] to QUrl

Scheduled Pinned Locked Moved Solved QML and Qt Quick
17 Posts 2 Posters 7.5k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • sierdzioS sierdzio

    Ah, not very helpful. Try printing out all items in a loop, then.

    Naveen_DN Offline
    Naveen_DN Offline
    Naveen_D
    wrote on last edited by
    #7

    @sierdzio i am not getting how to print the items in foldermodellist i tried with the following code but didn't get output:

    for (var j=0; j<items.count;j++){
                        console.log("items"+ items(j))
                    }
    

    is this the correct way ?

    Naveen_D

    1 Reply Last reply
    0
    • sierdzioS Offline
      sierdzioS Offline
      sierdzio
      Moderators
      wrote on last edited by
      #8

      Almost :-)

      for (var j=0; j<items.count;j++){
          console.log("item:"+ items.get(index,"filePath"))
      }
      

      Maybe that will help us pinpoint the issue.

      (Z(:^

      Naveen_DN 1 Reply Last reply
      0
      • sierdzioS sierdzio

        Almost :-)

        for (var j=0; j<items.count;j++){
            console.log("item:"+ items.get(index,"filePath"))
        }
        

        Maybe that will help us pinpoint the issue.

        Naveen_DN Offline
        Naveen_DN Offline
        Naveen_D
        wrote on last edited by Naveen_D
        #9

        @sierdzio Hi, i tried printing those items, but i am getting the same error again (Error: Cannot assign [undefined] to QUrl), also when i try to print those items, i am not able to find the auto get method for items(i.e items.get() method) and it is not entering the for loop.
        what can be the possible solution? thanks

        Naveen_D

        1 Reply Last reply
        0
        • sierdzioS Offline
          sierdzioS Offline
          sierdzio
          Moderators
          wrote on last edited by
          #10

          Please try:

          • print items.count and items.get(0, "filePath")
          • rewrite items to be a normal QML component and not a property (see example code in the docs) and see if it works
          • make sure the path is OK :-)

          (Z(:^

          Naveen_DN 1 Reply Last reply
          0
          • sierdzioS sierdzio

            Please try:

            • print items.count and items.get(0, "filePath")
            • rewrite items to be a normal QML component and not a property (see example code in the docs) and see if it works
            • make sure the path is OK :-)
            Naveen_DN Offline
            Naveen_DN Offline
            Naveen_D
            wrote on last edited by
            #11

            @sierdzio

            print items.count and items.get(0, "filePath")

            output:
            qml: items count >> 0
            qml: items at 0 position >> undefined

            rewrite items to be a normal QML component and not a property (see example code in the docs) and see if it works

            i made the following changes, pls rectify if there is any mistake

            FolderListModel{
                        id: items
                        folder: "/home/ubuntu/Documents/Sample_Examples_Qt_Qml/DummyMusicPlayer/Songs"
                        nameFilters: ["*.mp3"]
                    }
            

            after making changes i am getting the following output:

            qml: Entered init function
            qml: calling index function
            qml: entered setindex function
            qml: else part
            qml: items count >> 0
            qml: items at 0 position >> undefined
            qrc:/main.qml:58: Error: Cannot assign [undefined] to QUrl

            Naveen_D

            1 Reply Last reply
            0
            • sierdzioS Offline
              sierdzioS Offline
              sierdzio
              Moderators
              wrote on last edited by
              #12

              OK, so now at least we know this:

              • issue is not related to QtMultimedia
              • issue is with FolderListModel
              • "Cannot assign [undefined]" is there, because items is empty (no .mp3 files are detected in Songs folder)

              Try using URL instead of path:

              folder: "file:///home/ubuntu/Documents/Sample_Examples_Qt_Qml/DummyMusicPlayer/Songs"
              

              Relative and absolute paths should work, but apparently something fails here. Also, of course, please make sure there are some MP3s in that dir.

              (Z(:^

              Naveen_DN 1 Reply Last reply
              0
              • sierdzioS sierdzio

                OK, so now at least we know this:

                • issue is not related to QtMultimedia
                • issue is with FolderListModel
                • "Cannot assign [undefined]" is there, because items is empty (no .mp3 files are detected in Songs folder)

                Try using URL instead of path:

                folder: "file:///home/ubuntu/Documents/Sample_Examples_Qt_Qml/DummyMusicPlayer/Songs"
                

                Relative and absolute paths should work, but apparently something fails here. Also, of course, please make sure there are some MP3s in that dir.

                Naveen_DN Offline
                Naveen_DN Offline
                Naveen_D
                wrote on last edited by
                #13

                @sierdzio yup, now its detecting the mp3 files, i am getting the following output,

                qml: Entered init function
                qml: calling index function
                qml: entered setindex function
                qml: else part
                qml: items count >> 5
                qml: items at 0>> /home/ubuntu/Documents/Sample_Examples_Qt_Qml/DummyMusicPlayer/Songs/Cinema_Choopista-StarMusiQ.Com.mp3
                qml: before playing the song

                But i am not sure the song is playing or not, because i am not getting sound. Does it require anything else for this?

                Naveen_D

                sierdzioS 1 Reply Last reply
                0
                • Naveen_DN Naveen_D

                  @sierdzio yup, now its detecting the mp3 files, i am getting the following output,

                  qml: Entered init function
                  qml: calling index function
                  qml: entered setindex function
                  qml: else part
                  qml: items count >> 5
                  qml: items at 0>> /home/ubuntu/Documents/Sample_Examples_Qt_Qml/DummyMusicPlayer/Songs/Cinema_Choopista-StarMusiQ.Com.mp3
                  qml: before playing the song

                  But i am not sure the song is playing or not, because i am not getting sound. Does it require anything else for this?

                  sierdzioS Offline
                  sierdzioS Offline
                  sierdzio
                  Moderators
                  wrote on last edited by
                  #14

                  Nice, I'm glad to hear that problem is solved.

                  @Naveen_D said in Error: Cannot assign [undefined] to QUrl:

                  But i am not sure the song is playing or not, because i am not getting sound. Does it require anything else for this?

                  I'm not familiar with QtMultimedia, I can't help here unfortunately. My first guesses are:

                  • check if you have gstreamer 0.1 installed
                  • check if you have mp3 codecs installed (mp3lame or something)
                  • check some QtMultimedia examples in Qt Creator - does the sound work there?

                  (Z(:^

                  Naveen_DN 1 Reply Last reply
                  1
                  • sierdzioS sierdzio

                    Nice, I'm glad to hear that problem is solved.

                    @Naveen_D said in Error: Cannot assign [undefined] to QUrl:

                    But i am not sure the song is playing or not, because i am not getting sound. Does it require anything else for this?

                    I'm not familiar with QtMultimedia, I can't help here unfortunately. My first guesses are:

                    • check if you have gstreamer 0.1 installed
                    • check if you have mp3 codecs installed (mp3lame or something)
                    • check some QtMultimedia examples in Qt Creator - does the sound work there?
                    Naveen_DN Offline
                    Naveen_DN Offline
                    Naveen_D
                    wrote on last edited by Naveen_D
                    #15

                    Thanks for the information,
                    But previously i had tried to play songs using this and it was working fine, i found out that when i directly give source in the media player and play it is working fine the song is playing, but when i give the folderlistmodel path using the get method it is not working.
                    also i tried to print the path, when i give the direct source path, the path printed is the URL path but when it takes through the folderlistmodel, it is the normal path

                    i.e Direct source path with song if i give, the path set is :
                    "file:///home/ubuntu/Documents/Sample_Examples_Qt_Qml/DummyMusicPlayer/Songs/David Guetta - Love Don't Let Me Go (Memorax Remix) [FREE].mp3"

                    and through folderlistmodel with the index, the path set is :
                    "/home/ubuntu/Documents/Sample_Examples_Qt_Qml/DummyMusicPlayer/Songs/David Guetta - Love Don't Let Me Go (Memorax Remix) [FREE].mp3"

                    Can anyone please suggest the possible solution.
                    Thanks

                    Naveen_D

                    1 Reply Last reply
                    1
                    • Naveen_DN Offline
                      Naveen_DN Offline
                      Naveen_D
                      wrote on last edited by
                      #16

                      I have solved the issue,

                      mediaplayer.source=items.get(index,"filePath");
                      

                      I was using filePath, instead of this i used fileURL, the issue got resolved.

                      @sierdzio thanks alot for your help.

                      Thanks

                      Naveen_D

                      1 Reply Last reply
                      3
                      • sierdzioS Offline
                        sierdzioS Offline
                        sierdzio
                        Moderators
                        wrote on last edited by
                        #17

                        Cool, good to hear that :) Please mark the topic as solved, too.

                        (Z(:^

                        1 Reply Last reply
                        1

                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt Extensions
                        • Unsolved