Creating a Java Android App with Desktop version - Java for Android App Development

I wanted to program a music player and app for my computer, I just wanted to know as I plan on using Java programming for the Android app which language would be best for a desktop version? I was thinking Java would work fine? But is there any barriers or hurdles I should consider when doing this and is there maybe a different language that would work better?
I plan on making the android app first which will be a simple music player and playlist creator, basically building something for my own tastes and not necessarily to monetize, and then a desktop app running on Windows 10 to play and organize playlists that would be able to sync to the android device and transfer music directly to it, (Sort of like iTunes for Apple devices)
Thank you for your help I am still new at programming and want to start this off right and pick the right languages to be the best for cross platform work ^-^

Related

Access WMP Media Library?

Is it possible to access the media library information stored in Media Player using C#?
I am quite new to .NET programming and thought it would be good to develop an alternative library viewer with nice big buttons (the built in one is really fiddly without using the stylus). However, I cant find any information anywhere on how to actually read the library data.
I know there are probably other media players out there that already have this feature but I like using media player and it is built in.
If someone can point me in the right direction, or at least tell me that it cant be done using .NET, that would be great.
Cheers

Itunes

I would like Itunes on my HD2 as all my songs are currently in Itunes and don't want to start all over again with windows media player. Is this possible and NO I don't want to go buy an Iphone as my HD2 rules
Jammie_1989 said:
NO I don't want to go buy an Iphone
Click to expand...
Click to collapse
Why not?
You seem bent on using a terrible piece of software, why not also a terrible phone?
Try Salling Media Sync
If you want to sync the playlists from the iTunes in your PC with your HD2, then you can go for Salling Media Sync. Its Free
There is also an excellent music/ internet radio player and iTunes sync software called Pocket Tunes costing $20, but available for a 15 day trial.
For the HD2 you'd need an extra 'skin' downloaded for it to work, and some of the menu options are a little less finger friendly as they are designed for stylus use, but still quite usable.
The PC client will sync iTunes files and playlists (though not those with DRM, as that's not allowed by Apple). The demo version won't work with WMA files as Microsoft don't allow that!
We did a review of this on 4WinMobile!, though its not been updated for a while
The only reason for having itunes would be the podcasts but this guy has fixed that for us.
He has converted the itunes xml to html using google appspot. So you can now access itunes store and download podcasts straight to your device. It is not the nicest UI but works on IE Opera and skyfire.
http://app-store.appspot.com
If someone wants to make it all nice and tidy feel free.

the best way to sync your music.

mediamonkey + rsync.
mediamonkey is by far the best and most robust batch id3 editor, converter, re-organizer, etc i've used.
unfortunately the sync kinda sucks with my N1. it has limited features (no ability to remove files from the N1 if you remove them from your library or move the folders around, etc)
enter: rsync (or grsync if you want a gui or are on windows)
usually what I do is on getting new music i'll add the music to mediamonkey (not the library just yet), then use the converter to lower the bitrate to 128kbps (i have a ton of music and don't mind sacrificing the barely noticeable quality difference for more space) and normalize the volume and re-organize them into /library/artist/album/track-title.mp3
then i'll rsync /android/Music with /library and voila.
note: i hated doubletwist. i did not have itunes and doubletwist wouldn't edit any of my mp3 tags. plus it was laggy and heavy.
sidebar: people hate on the android music player. its fantastic search function (partial searches ftw! i can search for "op orld" and it'll find "drop the world".) is indispensable.
I just dump everything into a folder on my SD card while it is mounted to my computer
Salling Media Sync
SC
This message was deleted by its author
copy all works fine, but takes a long time if you have a large sdcard and library. unless you copy to the same folder and select to not overwrite existing files, but then you don't get updates that you make on your desktop and this could lead to duplicate files, etc.
rsync does incremental updates (only sends what's been changed) and has an option to delete files from the destination folder if they're not present in the source folder.
both Salling and DoubleTwist require an iTunes library, don't they? DoubleTwist was absolutely terrible for managing my library when i tried it. it read some 2,500 mp3s and read the metadata for maybe 20% of them, and left the others as just the filenames. that was shocking to me. Salling does require iTunes, and i dislike itunes a good bit.
you onlyneed itunes to convert files to a usable format. ie, AVI to MP4 etc
mediamonkey for me too, its great for fixing up tags and getting cover art.
There are some ipods in our house, mediamonkey syncs those too as well as various other devices.
t4tav said:
Doubletwist
Personally I can't fault it
Plus T-Mobile are thinking of partnering with them to ship it with "select" Android phones
How about Banshee ?
Above is Linux only :/
Click to expand...
Click to collapse
Yup, double twist in partnership for tmobile is out.
http://apps.t-mobile.com/doubletwist/
worth noting that it doesnt have the amazon mp3 store in it.
t4tav said:
Doubletwist
How about Banshee ?
Above is Linux only :/
Click to expand...
Click to collapse
Actually, Banshee is available for Linux, Windows and OS X. The version released yesterday is supposed to include direct support for the Nexus One. Although when they advertised G1 support, it actually didn't work. They admitted that it didn't work when pressed and continued to advertise G1 support. It's not a terribly great player, but if I can drag and drop to my Nexus One AND transfer playlists appropriately, then I'll use it for that, but it doesn't really work too well for library management.
What Software and App work together? on Linux?
Doubletwist (Music,Videos,Podcasts,Playlists) does the job perfectly on windows and mac... but what about linux?
Banshee seems really good same as doubletwist except it puts everything into one folder it looks like. Music and Podcasts mix together with any app on my android device. Doubletwist had its own app which made it work correctly putting each media class into its own folder on the android device. Music=music podcasts=podcasts I used it all the time. Now I run only linux and would like something just as good.
App on LINUX laptop and App on device working together! Anyone have ideas? or at least a way to get banshee to put music in a specific folder on my android device and podcasts in another that I decide. If so I can just continue to use doubletwist app on android.
Please anyone with a solution?
I really thought you could get doubletwist on Linux.
I've been using rythmbox on linux. Its kind of a pain to sync playlists, and it took me forever to figure it out, but I hate banshee and I couldnt find anything else that works.
drewzee said:
I've been using rythmbox on linux. Its kind of a pain to sync playlists, and it took me forever to figure it out, but I hate banshee and I couldnt find anything else that works.
Click to expand...
Click to collapse
drewzee does rythmbox have an android app? like doubletwist? so they talk pc to android.
winamp is nice, but the wireless sync needs to be fixed so it can directly send to sd card into a certain folder. Having 100s of artist folders on the main directory is annoying
I wish we could get the Zune software to work with android. :/
Previously, I was running rsync over ssh with Tasker to sync my music (and backup my SD) with my server
Since the command can sometimes take a while to execute (a new nand or several new albums etc) and there isnt any verbose output using Tasker, I just created a script that i can easily execute from BTEP and my music and other data are synced. this works for me
smot13 said:
I wish we could get the Zune software to work with android. :/
Click to expand...
Click to collapse
Yes yes yes!! And that it worked on linux! I know its too much to ask for.
Sent from my SPH-D700 using XDA App
pwig said:
I really thought you could get doubletwist on Linux.
Click to expand...
Click to collapse
I have been trying to get doubletwist to work through wine. No luck. Got installed but it won't run. I'm using fedora 14 32bit. On dell xps1330. I'm more of an ubuntu user but need fedora for work.
Sent from my SPH-D700 using XDA App
Why even sync it?
Audiogalaxy FTW
ErlyD said:
drewzee does rythmbox have an android app? like doubletwist? so they talk pc to android.
Click to expand...
Click to collapse
Im not sure what you mean because I've never used doubletwist, but the nexus will show up in the side pane of rhythmbox. You can right click, and then decide which playlists you want to sync etc...
The reason why I said it was a pain figuring out, is because the "My Top Rated" playlist would not update on my phone when I added new songs to it. I found out after tinkering that in order for that specific playlist to update, I had to delete the .pls file from the sd card before syncing it.

Post Zune - what do you use to play music?

Since Zune is now useless for syncing in WP8, I've decided the time has probably come to uninstall it. However, I'm loathe to let the iTunes virus onto my PC after a bad experience several years ago, so what is the best alternative music player/manager?
What are you using?
I still use Zune because I like the interface but you can also still sync with Windows Media Player.
winamp,foobar, mediamonkey or VLC - take a pick
but i tend to just listen to xbox music and dont use the local storage anymore.. shame actually
but smart dj is just a nice random mode
I agree with sinister1, Zune is amazing. Still using it.
I use Windows media player and Zune, but Zune is much better sounding than WMP.
Sent from the fetal position using XDA Windows Phone 7 App
Winamp has been my choice for the last several years, but I recently decided to try foobar2000. Foobar...... lacks a lot of functionality in comparison to winamp. Still, the majority of Winamp's addons haven't seen updating for over 5 years (literally), and winamp being owned by AOL has some downsides (the installer tries to give you a lot of ****).
I don't think I'm going back to winamp, but that decision is more of a vague whim, since foobar can be very.... patchy. The modular nature of foobar means UI functionality across the program is incredibly inconsistent, even among the default components! People keep assuring me "everything is configurable" but that just doesn't seem to be true, short of writing a component from scratch to make it work the way I want. Still I've managed to overlook these flaws and settle in comfortably, I think.
Mediamonkey is fat. That might not matter on a newer computer, but I'm biased against software with inefficient (bad) programming. (Full disclosure, Winamp's modern skinning engine is fat- don't install that, it's optional, and get an older "classic" skin).
I found this app named MusicBee. I'm in the process of syncing all my music as far as tags once I'm done I will wipe my phone and try to sync using it, I will keep you posted; I have a very large collection so it might be a while.
Too bad someone can't hack Zune and make it wokr for WP8 just like they made WMDC work for WP7.
I used the Windows Phone 8 apps (both metro and desktop versions) and music syncing was pathetic. It also took up too much space and had no playlists. I removed all music from my L920 and set up sync with Windows Media Player. I got all my songs and playlists and increased my available storage by about 10GB. The only downsides are that I don't prefer WMP over Zune (who would??) and now nokias Rinstone Maker doesn't recognize pretty much all the songs as they are WMA and not MP3
Sent from my RM-821_eu_euro1_342 using XDA Windows Phone 7 App
AIMP 3

Idea for a best WP app ever

Hi guys ;D
Sooo, I do not post very often, lol, I do not post at all due to constant lack of time, you know, daily job, family and stuff, anyways, here is the thing and I need your professional advice.
I've got a brilliant idea to make an app for a Windows Phone 8, basically, there is no application which syncs music using wireless, right? Yeah, so that will be an app like that, you know, easy sync, you can view music library from the phone, one click to transfer you songs to a phone, browse playlists, made by different music players, syncs them as well (I am aware of that there is no way to actually sync playlist object though).
Now, what I'm concerned about, is that a good idea for an app? Or maybe that's a stupid idea and no single person on planet earth will ever use it?
I am not really sure, because I do not want to invest a huge amount of a time to find out that. Can you help with making a right decision and give some advice maybe?
Thanks
I believe XBox music does this. Install it on your computer and it will scan your files and add them to your 'collection'. Which, in essence is your cloud collection. You can then retrieve anything you download through your xbox music pass on your phone / pc that is in your collection.
sukanaher said:
Hi guys ;D
Sooo, I do not post very often, lol, I do not post at all due to constant lack of time, you know, daily job, family and stuff, anyways, here is the thing and I need your professional advice.
I've got a brilliant idea to make an app for a Windows Phone 8, basically, there is no application which syncs music using wireless, right? Yeah, so that will be an app like that, you know, easy sync, you can view music library from the phone, one click to transfer you songs to a phone, browse playlists, made by different music players, syncs them as well (I am aware of that there is no way to actually sync playlist object though).
Now, what I'm concerned about, is that a good idea for an app? Or maybe that's a stupid idea and no single person on planet earth will ever use it?
I am not really sure, because I do not want to invest a huge amount of a time to find out that. Can you help with making a right decision and give some advice maybe?
Thanks
Click to expand...
Click to collapse
My app already does that. Sort of.
@Plazma1
I was basically thinking about completely offline software, - all this cloud stuff does not appeal to me. I am the guy who prefers to have my stuff 100% private, you know So do a lot of people I think
@mcosmin222
Can you post a link to your app or is it in your signature?
sukanaher said:
@Plazma1
I was basically thinking about completely offline software, - all this cloud stuff does not appeal to me. I am the guy who prefers to have my stuff 100% private, you know So do a lot of people I think
@mcosmin222
Can you post a link to your app or is it in your signature?
Click to expand...
Click to collapse
Signature.
@mcosmin222
Yeah, I've seen your app some long time ago, when it was pretty much "young"
But your solution differs quite a lot But I was just curious - are you using default WP8 music player mechanisms? Or maybe xaudio2 for example? With last, you can do more stuff - equalizer, lets say, nice controls for audio playing - you know, track bars and stuff. The only drawback is that you really do not have any access to WP audio library and that limitation sucks big time
I was thinking about such player but that is just too much hassle with storing music in isolated storage
sukanaher said:
@mcosmin222
Yeah, I've seen your app some long time ago, when it was pretty much "young"
But your solution differs quite a lot But I was just curious - are you using default WP8 music player mechanisms? Or maybe xaudio2 for example? With last, you can do more stuff - equalizer, lets say, nice controls for audio playing - you know, track bars and stuff. The only drawback is that you really do not have any access to WP audio library and that limitation sucks big time
I was thinking about such player but that is just too much hassle with storing music in isolated storage
Click to expand...
Click to collapse
By default the app uses the built-in player but you can switch modes to make it use a different player with more features. Go to Help+Settings, last tab.
I found ways of getting music in isostore faster for the user, one of them involves downloading from skydrive, the other involves direct file transfers between the phone and a desktop companion.
For WP7, what you propose is pretty difficult. But I can do this on Windows 8 + Windows Phone 8 app (I am building a companion app which runs on Metro). Once I can get myself a windows phone 8, this will get sped up considerably
I'm not sure third party apps can change things in the music library. Still, even if it would require its own player, I say go for it, because the native WP8 player makes me sad.
SilverHedgehog said:
I'm not sure third party apps can change things in the music library. Still, even if it would require its own player, I say go for it, because the native WP8 player makes me sad.
Click to expand...
Click to collapse
The app is almost ready for public release. I am just waitting to finish the 8.1 version and make them both public at the same time.
You can download the phone version from the link in my signature.
@mcosmin222
Yes, I was talking about WP8, - I didn't realize that your app is for WP7 actually ;P Dunno how things looks like on WP7 regarding xaudio2, on WP8 you got C++ support for it, and I have tested playing some random music with it and in fact, it works. Equalizer works - not the best EQ I've seen in my life but its something.
@SilverHedgehog
Nope, there is no write access to the music library on WP8 device, you can only read songs names and that's it. Not a big deal. But anyways, with a custom player there are following issues:
1. Player has to have its own music library within app isolated storage, so now you have 2 places where you have your music stored and that is inconvenient.
2. Player must be put in a background, and yet there are no "legal" ways to use proper multitasking. And even if we put this app in a background as geolocation app (so it need to use GPS time to time as well), - there will be no integration with a system itself - so no quick controls and stuff.
I was talking about completely custom 3rd party audio player, without any single standard mechanism used.
sukanaher said:
@mcosmin222
Yes, I was talking about WP8, - I didn't realize that your app is for WP7 actually ;P Dunno how things looks like on WP7 regarding xaudio2, on WP8 you got C++ support for it, and I have tested playing some random music with it and in fact, it works. Equalizer works - not the best EQ I've seen in my life but its something.
@SilverHedgehog
Nope, there is no write access to the music library on WP8 device, you can only read songs names and that's it. Not a big deal. But anyways, with a custom player there are following issues:
1. Player has to have its own music library within app isolated storage, so now you have 2 places where you have your music stored and that is inconvenient.
2. Player must be put in a background, and yet there are no "legal" ways to use proper multitasking. And even if we put this app in a background as geolocation app (so it need to use GPS time to time as well), - there will be no integration with a system itself - so no quick controls and stuff.
I was talking about completely custom 3rd party audio player, without any single standard mechanism used.
Click to expand...
Click to collapse
C++ for WP8 only works for native games. You can not build a player app that will run in the background using C++. So your library is useless, unfortunately.
My app fully supports WP8 as well.
As I said, there are ways to legal ways to go around the problems you just mentioned, and my player does that already. But you can not use C++ to do it. My decoders are written in pure C#.
You can not avoid "standard" mechanisms when working on an operating system. Even if you wrote all with ANSI C++, you would still depend on the system.
if you want, we could collaborate and use your library for winRT.
@mcosmin222: You can create native "component" (a C++/CX DLL) which is usable by non-game apps just fine. It *should* even work with background agents (there's no technical reason it wouldn't; is there a policy against it?) so I don't think that would be a problem. Marshaling data across the ABI does impose a small performance penalty but it shouldn't be significant for audio data.
Yes, that is what I was saying, C++ component, which implement all audio functionality using xaudio2, it completely manages all buffers and offsets and just plays audio All the rest is C# code, which calls component in a separate thread - there is no such requirement when calling xaudio2 engine from games, but from regular app it has to be in a separate thread. I am not really sure right now because I was doing this research almost a year ago, just when got my ATIV S; from what I can recall, C# CG impacts in some way audio buffers processing by the system, basically that is what GoodDayToDie said. So this rest of the code is also responsible for working in a background by implementing pseudo geolocation functionality. And thats it! We got a background app which plays music
I've done this - I know it works
But, there is always some but, there is always something that just not play nice.
1. Music must be stored in app iso storage.
2. No integration with quick controls for music playback
3. Additional desktop app, that will transfer music to WP8 app iso storage
I really don't think that a regular users will ever go after such solution, which requires additional app to be installed. Another thing is that is requires user to learn new way of playing his/her music, - such app will never succeed. By success I mean attraction of at least half of a million users.
@mcosmin222
I am not saying that your solution will never succeed, if you are using standard methods and do not require user to change his/her habits - there is a good chance
GoodDayToDie said:
@mcosmin222: You can create native "component" (a C++/CX DLL) which is usable by non-game apps just fine. It *should* even work with background agents (there's no technical reason it wouldn't; is there a policy against it?) so I don't think that would be a problem. Marshaling data across the ABI does impose a small performance penalty but it shouldn't be significant for audio data.
Click to expand...
Click to collapse
Oh well...it is worth the try...
But I don't think it will work(just a guts feeling xD).
But I expect some stupid policy to stop it, especially those related to p/invoke.
EDIT: Hmm...this might actually work. I tried adding a reference to a C++ runtime lib project from a C# background audio agent and surprise surprise, it worked.
I stand corrected then
not sure how this all relates to dll's written using ANSI C++ though.
I do not believe the marshaling overhead would be too great. It probably would be small enough to work even with apps requiring better performance.
@sukanaher,
Do you have the component already ported to WP8? If so, can you share it please? It would speed things up considerably.
@mcosmin222
I haven't understood correctly - you were talking about using background agents, I was talking about multitasking by imitating geolocation tracking app, - well, I am not sure if this will work with background agents due to the fact, from what I remember, there are 2 types of background agents on WP8 - I got no idea how things look like on WP7. So, there is a local music playing agent and music streaming agent - in both cases you do not have access to a raw audio data, to raw bytes, you just specify network source or local source and thats it.
If you are planning to use xaudio2 and all its benefits - you will need to extract audio PCM data from file and audio stream as well, so you will need your algorithms working with a raw bytes (an actual file) - it is not possible in case of background agents on WP8 - they just load your file or stream and thats it - you cannot access its data.
For proper music player, you will have to implement everything from scratch, no background agents, proper, android like multitasking, access to a music library, access to a system, system integration, basically you need everything that is not available on Windows Phone 8 and from what I observe will not be available in 9 - MS just holds this functionality for them selfs, thats it, we are limited to the minimum.- that is why I am thinking more about dumping my WP device.
Yeah, I have an xaudio2 wrapper lib written a year ago somewhere on my PC - it is a mess, it depends on my other libs and it is just a static linking lib, it is not a component. If I would ever share this, I will have to prepare a proper static library or component, but at this moment, besides daily job, I'm involved into other projects.
sukanaher said:
@mcosmin222
I haven't understood correctly - you were talking about using background agents, I was talking about multitasking by imitating geolocation tracking app, - well, I am not sure if this will work with background agents due to the fact, from what I remember, there are 2 types of background agents on WP8 - I got no idea how things look like on WP7. So, there is a local music playing agent and music streaming agent - in both cases you do not have access to a raw audio data, to raw bytes, you just specify network source or local source and thats it.
If you are planning to use xaudio2 and all its benefits - you will need to extract audio PCM data from file and audio stream as well, so you will need your algorithms working with a raw bytes (an actual file) - it is not possible in case of background agents on WP8 - they just load your file or stream and thats it - you cannot access its data.
For proper music player, you will have to implement everything from scratch, no background agents, proper, android like multitasking, access to a music library, access to a system, system integration, basically you need everything that is not available on Windows Phone 8 and from what I observe will not be available in 9 - MS just holds this functionality for them selfs, thats it, we are limited to the minimum.- that is why I am thinking more about dumping my WP device.
Yeah, I have an xaudio2 wrapper lib written a year ago somewhere on my PC - it is a mess, it depends on my other libs and it is just a static linking lib, it is not a component. If I would ever share this, I will have to prepare a proper static library or component, but at this moment, besides daily job, I'm involved into other projects.
Click to expand...
Click to collapse
Ok, long story short:
Yes, you can access the stream of raw bytes from local storage. You may or may not do the same with online sources.
No, MS does not use a different kind of multitasking system. The difference is the MS player can actually access to user library.
Maybe, we can implement an equalizer filter which can be applied before the raw bytes get to the player. This can be done with C# too, so it is not required to use C++ at all (the difference in performance is minimal anyway) However, in order to do such a thing, one must implement media stream sources for the file formats which usually do not require streaming (like mp3, mp4, wav etc), so we can have access to the raw bytes sent to the player. This is very time consuming, and the reward isn't really all that big. Sure, if you have codecs in CX that are usable in WP apps, we can do this...
The only thing MS does to impair a proper music player is access to the user library.
double post failure
Anyways, we have strayed off topic a little bit, but from what I can see - there is no interest in such application, that will sync music to PC using wireless

Categories

Resources