A semi-numerical method is derived to compute the Laplace transform of the equilibrium busy period probability density function in a fluid queue with constant output rate when the buffer is nonempty. The input process is controlled by a continuous-time semi-Markov chain (CTSMC) with n states such that in each state the input rate is constant. The holding time in states with net positive output rate - so-called emptying states - is assumed to be an exponentially distributed random variable, whereas in states with net positive input rate - so-called filling states - it may have an arbitrary probability distribution. The result is demonstrated by applying it to various systems, including fluid queues with two on-off input sources. The latter exercise in part shows consistency with prior results but also solves the problem in the case where there are two emptying states. Numerical results are presented for selected examples which expose discontinuities in the busy period distribution when the number of emptying states changes, e.g. as a result of increasing the fluid arrival rate in one or more states of the controlling CTSMC.