Convert byte array to .wav java I have a web service that returns an array of bytes and my intention is to convert said array to a .wav in the client (a handheld such as Blackberry). However I really have no idea of how to do that, I tried just making an FileOutputStream but of course that wouldn't play. So I am once again without knowing what to do. Any ideas?
Convert audio stream to WAV byte array in Java without temp file Given an InputStream called in which contains audio data in a compressed format (such as MP3 or OGG), I wish to create a byte array containing a WAV conversion of the input data. Unfortunately, if you try to do this, JavaSound hands you the following error:  java.io.IOException: stream length not specified   I managed to get it to work by writing the wav to a temporary file, then reading it back in, as shown below:  AudioInputStream source = AudioSystem.getAudioInputStream(new BufferedInputStream(in, 1024)); AudioInputStream pcm = AudioSystem.getAudioInputStream(AudioFormat.Encoding.PCM_SIGNED, source); AudioInputStream ulaw = AudioSystem.getAudioInputStream(AudioFormat.Encoding.ULAW, pcm); File tempFile = File.createTempFile("wav", "tmp"); AudioSystem.write(ulaw, AudioFileFormat.Type.WAVE, tempFile); // The fileToByteArray() method reads the file // into a byte array; omitted for brevity byte[] bytes = fileToByteArray(tempFile); tempFile.delete(); return bytes;   This is obviously less desirable. Is there a better way?
How do I tokenize a string in C++? Java has a convenient split method:  String str = "The quick brown fox"; String[] results = str.split(" ");   Is there an easy way to do this in C++? Is there a way to do custom /say commands? I've looked it up, and apparently there is not a way to. But, there's an NPC in my map where I have it "talking" with a /say command. So, is there a way to make it say something like [(NPC Name)] (Text) without mods? What is the difference between "lay" and "lie"? Doubly stochastic matrix proof A transition matrix $P$ is said to be doubly stochastic if the sum   over each column equals one, that is $\sum_i P_{ij}=1\space\forall i$.   If such a chain is irreducible and aperiodic and consists of $M+1$   states $0,1,\dots,M$ show that the limiting probabilities are given by   $$\pi_j=\frac{1}{1+M},j=0,1,\dots,M$$   I have no idea how to prove it but   If a chain is irreducible then all states communicate i.e $$P_{ij}&gt;0\space \text{and}\space P_{ji}&gt;0\space\forall i,j$$ If $d$ denotes the period of any state, if a chain is irreducible aperiodic, then $d(i)=1\forall i$   If $P_{(M+1)\times (M+1)}$ matrix and $\pi$ is the stationary distribution  $$\pi_j=\sum_iP_{ij}\pi_i\space j=0,1,\dots,M+1$$  but how I can get this expression? Opening Chromium on Ubuntu VPS Ubuntu noob here. I recently got a VPS running Ubuntu, and decided to install Chromium, my preferred browser, on it. After installation completed, I got a message stating that I cannot open Chromium with root privileges. How would I go about opening Chromium? Why must we "avoid discussions in comments"? I've just started getting these messages:     Please avoid extended discussions in comments. Would you like to automatically move this discussion to chat?   Why should one avoid doing this? I think it adds to the site...  (Tagged  in more ways than one!) How to encrypt individual folders? I have a cron job that runs every minute on an Ubuntu 12.04 box  $sudo crontab -e * * * * * mylogin /pathto/file.sh &gt; /log/filelog   If I run file.sh, the bash script does some stuff and echos out runs:  $ ./file.sh  runs   If I check the log of cron tab it shows that the job is running:  Jul 10 12:41:01 localhost CRON[1811]: (root) CMD (mylogin /pathto/file.sh &gt; /log/filelog) Jul 10 12:41:01 localhost CRON[1810]: (CRON) info (No MTA installed, discarding output) Jul 10 12:42:01 localhost CRON[1813]: (root) CMD (mylogin /pathto/file.sh &gt; /log/filelog)   However, the script is not running. It is not doing it's work and not echoing runs to /log/filelog.  $cat /log/filelog  #shows nothing   What other steps can I take to debug this problem? Confusion between register size, address size, data size I started learning about pointers in C++ and I figured I should educate myself a bit on how memory works and is accessed. I read that when we say a processor is 64-bit, it has a 64-bit register and can access 2^64 address locations. I also read that it can fetch 64/8, so 8 bytes of data at a time, but the data bus is not the same thing as the register right? Do they need to be the same size or does that just happen to be the case usually? And is it the size of the register or the data bus size that determines what we refer to it as, such as 32/64-bit? Also is there a difference between register size and address size? bcmwl-kernel-source broken on kernel: 5.8.0-34-generic How do you compile OpenSSL for x64? After following the instructions in INSTALL.W64 I have two problems:   The code is still written to the "out32" folder. I need to be able to link to both 32-bit and 64-bit versions of the library on my workstation, so I don't want the 64-bit versions to clobber the 32-bit libs. The output is still 32-bit! This means that I get "unresolved external symbol" errors when trying to link to the libraries from an x64 app. I was working on a worksheet for class and came across this problem:      Let $\varphi:R\to S$ be an onto ring homomorphism with the property that every ideal of $R$ is principal. Show that the same must be true for $S$.    I honestly do not know how to do this one! Root of continuous function using Rolle's Theorem $$f(x)= 1 + e^x\cos(x)$$   $$g(x)= 1 + e^x\sin(x)$$      Show that there is at least one root of $g$ between two roots of $f$   How do I start to answer this question and do I need to use Intermediate Value Theorem? Is there a package that automatically inserts the ToC level of the reference I inserted?  Section 1.1 \label{a} Subsection 1.1.1 \label{b} Subsection 1.1.2  \label{c}   So that the text:  Blah \superref{a} and \superref{b} and \superref{c}   becomes:  Blah Section 1.1 and Subsection 1.1.1 and Subsection 1.1.2   So that it automatically adapts if I change the level of a label? I'm having a problem rendering the environment map. I downloaded a sample project that has the same settings as my project but it renders without a problem. I tried using both a .hdr and .png image. Attached are screenshots with node settings. First is the incorrect render and 2nd image is the project the renders correctly. How do I go about fixing this? Which transformations are canonical? Which transformations are ? I have an ec2 instance on AWS which already installed a few Wordpress-es in it.  I want to set things up to let more people handle their own projects, with me also being able to go into the server using terminal if I still want to.  I have been following tutorials such as  and a few others.  I figured all of them just teach users how to sftp into their own home folder, also the steps keep saying addUser but some users already existed and removing them might cause some issue.  How can I give existing users the permission to use SFTP for Wordpress projects?  Let's say all my Wordpress projects are already under /var/www/ which has already been set up with www-data:www-data.  Really new with setting things like this.  Thanks in advance for any help. Confirmation that (inner) classes are still not fully supported in @AuraEnabled methods? InDesign: How do I automatically align the bottoms of different columns of text boxes to the same height as the one with the most text? In InDesign, I have some filled text boxes, sized by columns, with the one on the left being three columns wide.   The wide text box is most likely to contain the most text (it's an invoice template).  I will use the 'Fit frame to content' button on the Selection Tool toolbar for automatically vertically resize it to fit the containing text.  How do I make the other three smaller text frames automatically adjust to the same height as the big (and longer) text box? I bought an Acer laptop and installed Ubuntu 14.04LTS but WiFi drivers are not available for it. So I am trying to install a windows driver using wifidocs/driver/ndiswrapper.  On doing lspci -vvnn, it gives:  Network controller ［0280: Qualcomm Atheros Device ［168c:0042］ (rev 30)   Then I also disabled the atheros drivers. Using lspci and lspci -n, I can say PCI id is 168c:0042. But Acer website has three atheros drivers. I could not figure out which one to download but downloaded one on a windows PC and pasted the zip file on my desktop then unzipped it from the terminal using unzip &lt;filename&gt;.zip. The page says you have to go to control panel system hardware and all that on the windows system. I did not do it. Windows computer not being mine, I am afraid I should not install any additional driver on it. After unzipping it has one .inx file and one .bin file but no .sys file. I don't know whether I am completely right till here or have I missed something? And if I am right then how to proceed from here? I also made a new directory and copied the unzipped .inx and .bin files in it. Then in that directory I ran the ndiswrapper -i &lt;filename&gt;.inf but it says ndiswrapper not installed and when I do sudo apt-get install ndiswrapper-common, I get the reply that ndiswrapper-common is already the latest version. What to do? here is my dmesg | grep ath10k result  [   7.882758] ath10k_pci 0000:03:00.0: pci irq msi-x interrupts 8 irq_mode 0 reset_mode 0 [    8.190016] ath10k_pci 0000:03:00.0: Direct firmware load for ath10k/cal-pci-0000:03:00.0.bin failed with error -2 [    8.334587] ath10k_pci 0000:03:00.0: Direct firmware load for ath10k/QCA9377/hw1.0/board-2.bin failed with error -2 [   10.140677] ath10k_pci 0000:03:00.0: qca9377 hw1.0 (0x05020000, 0x003820ff sub 105b:e09a) fw WLAN.TF.1.0-00267-1 fwapi 5 bdapi 1 htt-ver 3.1 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1 features ignore-otp [   10.140682] ath10k_pci 0000:03:00.0: debug 0 debugfs 0 tracing 0 dfs 0 testmode 0 Here is the output of lspci -nnk | grep -iA2 net  02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)     Subsystem: Acer Incorporated [ALI] Device [1025:098a]     Kernel driver in use: r8169 03:00.0 Network controller [0280]: Qualcomm Atheros Device [168c:0042] (rev 30)     Subsystem: Foxconn International, Inc. Device [105b:e09a]     Kernel driver in use: ath10k_pci