|| говорит: если какое-либо условие истинно, я верну истину, не глядя на те, которые следуют за ним.
То есть true || false
верно, falls || true
верно.
В вашем случае вы говорите: «если strExt не равен wav и не равен mp3, выполните». В случае, если одно из них истинно, оно выполняется.
Я думаю, что вы ищете символ &&. logical and
говорит: «Я верну истину, только если каждое условие истинно» - когда оно встречается с ложью, оно возвращает ложь.
Как я думаю, ваш код должен выглядеть так:
if (strExt!='wav' && strExt!='mp3')