Improve spectrogram appearance using windowing functions MATLAB
Windowing is nothing more than element-wise multiplication of your signal by window function. 

Let's assume that you want to apply Hanning window. In your case signal is stored inside myRecording(start_sample:end). 


Create the window values vector of your signal length: win =
hann(length(myRecording(start_sample:end)))
Multiply by your signal and store it in variable: sig = win.*size(myRecording(start_sample:end). 
Perform the FFT, but keep in mind that now you cannot simply normalize but your signal length (as you do within FFT function), but you should (very simply speaking) divide by sum of your window values: sum(win). Probably you will notice that in case of no window applied = rectangular window, that is also true.


Answering second part of your question, which window to choose? You can start from this great white paper (on figure 8 you have recomendations for different window types): Windowing: Optimizing FFTs Using Window Functions.



Just keep in mind that if you you increase side-lobe attenuation then you also make your main-lobe wider (worse frequency resolution). Hanning is a good start. 

For more info you can refer to literature:


  Harris F.J. - On the Use of Windows for Harmonic Analysis with the
  Discrete Fourier
  Transform
  Heinzel G. - Spectrum and spectral density estimation by the DFT


Also I've noticed in your code that you are normalizing by the number of samples and then taking only first half of your spectrum. That's perfectly ok, but you must also multiply amplitude by 2 in order to compensate for removing of half of your energy in components above $\frac{f_s}{2}$

In case you have more queries you can search for questions and answers regarding windowing and leakage - you will find plenty.